連接:mysql -h主機(jī)地址 -u用戶名 -p用戶密碼 (注:u與root可以不用加空格,其它也一樣)
斷開(kāi):exit (回車)
創(chuàng)建授權(quán):grant select on 數(shù)據(jù)庫(kù).* to 用戶名@登錄主機(jī) identified by \"密碼\"
修改密碼:mysqladmin -u用戶名 -p舊密碼 password 新密碼
刪除授權(quán): revoke select,insert,update,delete om *.* fromtest2@localhost;
顯示數(shù)據(jù)庫(kù):show databases;
顯示數(shù)據(jù)表:show tables;
顯示表結(jié)構(gòu):describe 表名;
創(chuàng)建庫(kù):create database 庫(kù)名;
刪除庫(kù):drop database 庫(kù)名;
使用庫(kù):use 庫(kù)名;
創(chuàng)建表:create table 表名 (字段設(shè)定列表);
刪除表:drop table 表名;
修改表:alter table t1 rename t2
查詢表:select * from 表名;
清空表:delete from 表名;
備份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasenametablename > tablename.sql
恢復(fù)表: mysqlbinmysql -h(ip) -uroot -p(password) databasenametablename < tablename.sql(操作前先把原來(lái)表刪除)
增加列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADDINDEX (c);
修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b cCHAR(20);
刪除列:ALTER TABLE t2 DROP COLUMN c;
備份數(shù)據(jù)庫(kù):mysql\bin\mysqldump -h(ip) -uroot -p(password) databasename> database.sql
恢復(fù)數(shù)據(jù)庫(kù):mysql\bin\mysql -h(ip) -uroot -p(password) databasename< database.sql
復(fù)制數(shù)據(jù)庫(kù):mysql\bin\mysqldump --all-databases >all-databases.sql
修復(fù)數(shù)據(jù)庫(kù):mysqlcheck -A -o -uroot -p54safer
文本數(shù)據(jù)導(dǎo)入: load data local infile \"文件名\" into table 表名;
數(shù)據(jù)導(dǎo)入導(dǎo)出:mysql\bin\mysqlimport database tables.txt
第一招、mysql服務(wù)的啟動(dòng)和停止
net stop mysql
net start mysql
第二招、登陸mysql
語(yǔ)法如下: mysql -u用戶名-p用戶密碼
鍵入命令mysql -uroot -p,回車后提示你輸入密碼,輸入12345,然后回車即可進(jìn)入到mysql中了,mysql的提示符是:
mysql>
注意,如果是連接到另外的機(jī)器上,則需要加入一個(gè)參數(shù)-h機(jī)器IP
第三招、增加新用戶
格式:grant 權(quán)限 on 數(shù)據(jù)庫(kù).* to 用戶名@登錄主機(jī) identified by "密碼"
如,增加一個(gè)用戶user1密碼為password1,讓其可以在本機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫(kù)有查詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入mysql,然后鍵入以下命令:
grant select,insert,update,delete on *.* touser1@localhost Identified by "password1";
如果希望該用戶能夠在任何機(jī)器上登陸mysql,則將localhost改為"%"。
如果你不想user1有密碼,可以再打一個(gè)命令將密碼去掉。
grant select,insert,update,delete on mydb.* touser1@localhost identified by"";
第四招: 操作數(shù)據(jù)庫(kù)
登錄到mysql中,然后在mysql的提示符下運(yùn)行下列命令,每個(gè)命令以分號(hào)結(jié)束。
1、 顯示數(shù)據(jù)庫(kù)列表。
show databases;
缺省有兩個(gè)數(shù)據(jù)庫(kù):mysql和test。mysql庫(kù)存放著mysql的系統(tǒng)和用戶權(quán)限信息,我們改密碼和新增用戶,實(shí)際上就是對(duì)這個(gè)庫(kù)進(jìn)行操作。
2、 顯示庫(kù)中的數(shù)據(jù)表:
use mysql;
show tables;
3、 顯示數(shù)據(jù)表的結(jié)構(gòu):
describe 表名;
4、 建庫(kù)與刪庫(kù):
create database 庫(kù)名;
drop database 庫(kù)名;
5、 建表:
use 庫(kù)名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中記錄:
delete from 表名;
7、 顯示表中的記錄:
select * from 表名;
第五招、導(dǎo)出和導(dǎo)入數(shù)據(jù)
1. 導(dǎo)出數(shù)據(jù):
mysqldump --opt test > mysql.test
即將數(shù)據(jù)庫(kù)test數(shù)據(jù)庫(kù)導(dǎo)出到mysql.test文件,后者是一個(gè)文本文件
如:mysqldump -u root -p123456 --databases dbname >mysql.dbname
就是把數(shù)據(jù)庫(kù)dbname導(dǎo)出到文件mysql.dbname中。
2. 導(dǎo)入數(shù)據(jù):
mysqlimport -u root -p123456 < mysql.dbname。
不用解釋了吧。
3. 將文本數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù):
文本數(shù)據(jù)的字段數(shù)據(jù)之間用tab鍵隔開(kāi)。
use test;
load data local infile "文件名" into table 表名;
1:使用SHOW語(yǔ)句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫(kù):
mysql> SHOW DATABASES;
2:2、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:選擇你所創(chuàng)建的數(shù)據(jù)庫(kù)
mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed時(shí)說(shuō)明操作成功!)
4:查看現(xiàn)在的數(shù)據(jù)庫(kù)中存在什么表
mysql> SHOW TABLES;
5:創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sexCHAR(1));
6:顯示表的結(jié)構(gòu):
mysql> DESCRIBE MYTABLE;
7:往表中加入記錄
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫(kù)表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTOTABLE MYTABLE;
9:導(dǎo)入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:刪除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中數(shù)據(jù)
mysql>update MYTABLE set sex="f" where name='hyq';13:備份數(shù)據(jù)庫(kù)mysqldump -u root庫(kù)名>xxx.data14:
例2:連接到遠(yuǎn)程主機(jī)上的MYSQL
假設(shè)遠(yuǎn)程主機(jī)的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:
mysql-h110.110.110.110 -uroot -pabcd123
(注:u與root可以不用加空格,其它也一樣)
3、退出MYSQL命令:exit
(一) 連接MYSQL:
1、例1:連接到本機(jī)上的MYSQL
2、例2:連接到遠(yuǎn)程主機(jī)上的MYSQL
(注:u與root可以不用加空格,其它也一樣)
3、退出MYSQL命令
(二) 修改密碼:
1、例1:給root加個(gè)密碼123。首先在DOS下進(jìn)入目錄C:\mysql\bin,然后鍵入以下命令:
2、例2:再將root的密碼改為456
(三) 增加新用戶:(注意:和上面不同,下面的因?yàn)槭荕YSQL環(huán)境中的命令,所以后面都帶一個(gè)分號(hào)作為命令結(jié)束符)
(四) 顯示命令
1、顯示數(shù)據(jù)庫(kù)列表:
2、顯示庫(kù)中的數(shù)據(jù)表:
3、顯示數(shù)據(jù)表的結(jié)構(gòu):
4、建庫(kù):
5、建表:
6、刪庫(kù)和刪表:
7、將表中記錄清空:
8、顯示表中的記錄:
MySQL導(dǎo)入導(dǎo)出命令
1.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)
mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 > 導(dǎo)出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc >wcnc.sql
2.導(dǎo)出一個(gè)表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 表名> 導(dǎo)出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users>wcnc_users.sql
3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc>d:wcnc_db.sql
-d 沒(méi)有數(shù)據(jù) --add-drop-table 在每個(gè)create語(yǔ)句之前增加一個(gè)drop table
4.導(dǎo)入數(shù)據(jù)庫(kù)
常用source 命令
進(jìn)入mysql數(shù)據(jù)庫(kù)控制臺(tái),
如mysql -u root -p
mysql>use 數(shù)據(jù)庫(kù)
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
mysql>source d:wcnc_db.sql (注:如果寫成sourced:\wcnc_db.sql,就會(huì)報(bào)語(yǔ)法
使用load data 批量導(dǎo)入數(shù)據(jù),這種做法可以瞬間導(dǎo)入數(shù)據(jù),用處非常大!
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS 字段操作,設(shè)置每個(gè)字段的分隔符
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char' ]
]
[LINES 行操作,從某一個(gè)字符開(kāi)始,到某個(gè)字符
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES] 行操作,忽略某行
[(col_name_or_user_var,...)] 字段操作,寫入的字段與數(shù)據(jù)對(duì)應(yīng)
[SET col_name = expr,...)]
示例:load data infile '/test/test.file' intotable 'test' fields terminated by "\t" (fieldsOne,fieldsTwo);
意思是, 載入/test/test.file到表test中,使用\t分割字段,寫入fieldsOne和fieldsTwo中,默認(rèn)以換行符作為一個(gè)行分割!