mysql基本常用命令
今天上午由于一個(gè)環(huán)境使用到mysql數(shù)據(jù)庫(kù),出現(xiàn)了一點(diǎn)錯(cuò)誤,把我坑死了,所以這里就將相關(guān)一些基本mysql數(shù)據(jù)庫(kù)操作命令進(jìn)行總結(jié)了一下,方便日后查看和學(xué)習(xí)。
1.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)
mysqldump -u 用戶名 -p --default-character-set=latin1 數(shù)據(jù)庫(kù)名 > 導(dǎo)出的文件名(數(shù)據(jù)庫(kù)默認(rèn)編碼是latin1)
mysqldump -u root -p test > test.sql
2.導(dǎo)出一個(gè)表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 表名> 導(dǎo)出的文件名
mysqldump -u root -p test users> test_users.sql
3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)
mysqldump -u root -p -d –add-drop-table test >d:test_db.sql
-d 沒(méi)有數(shù)據(jù) –add-drop-table 在每個(gè)create語(yǔ)句之前增加一個(gè)drop table
4.導(dǎo)入數(shù)據(jù)庫(kù)
A:常用source 命令
進(jìn)入mysql數(shù)據(jù)庫(kù)控制臺(tái),
如mysql -u root -p
mysql>use 數(shù)據(jù)庫(kù)
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
mysql>source _db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname < filename.sql
C:使用mysql命令
mysql -u username -p -D dbname < filename.sql
一、啟動(dòng)與退出
1.進(jìn)入MySQL:mysql -u root -p ?輸入root密碼
提示符是:mysql>
2.連接mysql:mysql -h 主機(jī)地址 -u 用戶名 -p 用戶密碼
?eg1:mysql -uroot -p密碼 ? ? ? ? ?連接到本機(jī)mysql,注:u與root之間可以不用加空格,其他也一樣
?eg2:mysql -h110.110.110.110 -uroot -p密碼
3.修改密碼
mysqladmin -u 用戶名 -p 舊密碼 password 新密碼
4.授權(quán)主機(jī)登錄
任何主機(jī)登陸
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
只可以在localhost上登錄
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
5.退出mysql命令:exit或者quit(回車).
6.增加新用戶(方法一):grant select(權(quán)限:selcet) on 數(shù)據(jù)庫(kù).* to 用戶名@登錄主機(jī) identified by "密碼"
? ?eg1:增加一個(gè)用戶 test1 密碼為 abc,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫(kù)有查詢、插入、修、刪除的權(quán)限。首先用以root 用戶連入 MYSQL,然后鍵入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
? ?eg2:增加一個(gè)用戶 test2 密碼為 abc,讓他只可以在 localhost上登錄,并可以對(duì)數(shù)據(jù)庫(kù) mydb 進(jìn)行查詢、插入、修改、刪 除的操作(localhost 指本地主機(jī),即 MYSQL 數(shù)據(jù)庫(kù)所在的那臺(tái)主機(jī)),這樣用戶即使用知道 test2 的密碼,他也無(wú)法從 internet 上直接 訪問(wèn)數(shù)據(jù)庫(kù),只能通過(guò) MYSQL 主機(jī)上的 web 頁(yè)來(lái)訪問(wèn)了。
? ?grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
eg3:如果你不想 test2 有密碼,可以再打一個(gè)命令將密碼消掉。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
二、庫(kù)操作
1、創(chuàng)建數(shù)據(jù)庫(kù)
命令:create database <數(shù)據(jù)庫(kù)名>
例如:建立一個(gè)名為xhkdb的數(shù)據(jù)庫(kù)
mysql> create database xhkdb;
2、顯示所有的數(shù)據(jù)庫(kù)
命令:show databases (注意:最后有個(gè)s)
mysql> show databases;
3、刪除數(shù)據(jù)庫(kù)
命令:drop database <數(shù)據(jù)庫(kù)名>
例如:刪除名為 xhkdb的數(shù)據(jù)庫(kù)
mysql> drop database xhkdb;
4、連接數(shù)據(jù)庫(kù)
命令: use <數(shù)據(jù)庫(kù)名>
例如:如果xhkdb數(shù)據(jù)庫(kù)存在,嘗試存取它:
mysql> use xhkdb;
屏幕提示:Database changed
5、查看當(dāng)前使用的數(shù)據(jù)庫(kù)
mysql> select database();
6、當(dāng)前數(shù)據(jù)庫(kù)包含的表信息:
mysql> show tables; (注意:最后有個(gè)s)
三、表操作,操作之前應(yīng)連接某個(gè)數(shù)據(jù)庫(kù)
1、建表
命令:create table <表名> ( <字段名1> <類型1> [,..<字段名n> <類型n>]);
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));
2、獲取表結(jié)構(gòu)
命令: desc 表名,或者show columns from 表名
mysql> desc MyClass;
mysql> show columns from MyClass;
3、刪除表
命令:drop table <表名>
例如:刪除表名為 MyClass 的表
mysql> drop table MyClass;
4、插入數(shù)據(jù)
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號(hào)為1的名為Tom的成績(jī)?yōu)?6.45, 編號(hào)為2 的名為Joan 的成績(jī)?yōu)?2.99,編號(hào)為3 的名為Wang 的成績(jī)?yōu)?6.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5、查詢表中的數(shù)據(jù)
1)、查詢所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表達(dá)式 >
例如:查看表 MyClass 中所有數(shù)據(jù)
mysql> select * from MyClass;
2)、查詢前幾行數(shù)據(jù)
例如:查看表 MyClass 中前2行數(shù)據(jù)
mysql> select * from MyClass order by id limit 0,2;
或者:
mysql> select * from MyClass limit 0,2;
6、刪除表中數(shù)據(jù)
命令:delete from 表名 where 表達(dá)式
例如:刪除表 MyClass中編號(hào)為1 的記錄
mysql> delete from MyClass where id=1;
7 , 清空表
mysql>delete from MYclass;
8、修改表中數(shù)據(jù):update 表名 set 字段=新值,… where 條件
mysql> update MyClass set name='Mary' where id=1;
9、在表中增加字段:
命令:alter table 表名 add字段 類型 其他;
例如:在表MyClass中添加了一個(gè)字段passtest,類型為int(4),默認(rèn)值為0
mysql> alter table MyClass add passtest int(4) default '0'
10、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;
11, 更新字段內(nèi)容
update 表名 set 字段名 = 新內(nèi)容
update 表名 set 字段名 = replace(字段名,'舊內(nèi)容','新內(nèi)容');
12.刷新系統(tǒng)修改
mysql>flush privileges;
13.查看進(jìn)程情況
mysql>show processlist;
常用字段類型
1.INT[(M)] 型: 正常大小整數(shù)類型
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(雙精密)浮點(diǎn)數(shù)字類型
3.DATE 日期類型:支持的范圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式來(lái)顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列
4.CHAR(M) 型:定長(zhǎng)字符串類型,當(dāng)存儲(chǔ)時(shí),總是是用空格填滿右邊到指定的長(zhǎng)度
5.BLOB TEXT類型,最大長(zhǎng)度為65535(2^16-1)個(gè)字符。
6.VARCHAR型:變長(zhǎng)字符串類型
MySQL命令集錦 ?http://www.crazycen.com/linux/797.html
http://www.136pub.com/forum.php?mod=viewthread&tid=37
http://www.svipc.com/thread-427-1-1.html? ??MySQL常用語(yǔ)句講解
http://www.xuchanggang.cn/archives/category/database/mysql/page/2
轉(zhuǎn)載于:https://blog.51cto.com/hao360/1347641
總結(jié)
以上是生活随笔為你收集整理的mysql基本常用命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 代码简洁(注意事项)
- 下一篇: License制作