創(chuàng)建數(shù)據(jù)庫
create database *mydata*;
創(chuàng)建用戶
create user *xuduo* IDENTIFIED by *'xuduo123'*;
用戶授權(quán)
格式:grant 權(quán)限 on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by "密碼";
grant all privileges on mydata.* to xuduo@'%' IDENTIFIED by 'xuduo123';
flush privileges;
刪除用戶
drop user 用戶名@'%';
修改用戶密碼
update mysql.user set password=password('新密碼') where User="test" and Host="localhost";
flush privileges;
建表
DROP TABLE IF EXISTS `workers_info`;
CREATE TABLE `workers_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`workername` varchar(20) NOT NULL,
`sex` enum(F,M,S),
`salary` int(11) DEFAULT '0',
`email` varchar(30),
`EmployedDates` date,
`department` varchar(30),
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
加主鍵
alter table abc add constraint p_m_k primary key(id) ;
alter table abc AUTO_INCREMENT=1;
外鍵
ALTER TABLE t_student ADD CONSTRAINT t_cname1 FOREIGN KEY(cname) REFERENCES t_class(NAME);
加注釋
ALTER TABLE table_name COMMENT='這是表的注釋';
ALTER TABLE emp MODIFY 列名 列類型 COMMENT '備注';
修改表
ALTER TABLE workers_info ADD tel varchar(15) after salary;
ALTER TABLE workers_info CHANGE email mailbox varchar(30);
加索引
1.添加PRIMARY KEY(主鍵索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE (
`column`
)
3.添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
導(dǎo)入導(dǎo)出
1.導(dǎo)出數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)
mysqldump -uroot -proot --databases 數(shù)據(jù)庫名稱 >保存文件名.sql
2.導(dǎo)出數(shù)據(jù)庫中的某幾張表
mysqldump -uroot -proot --databases 數(shù)據(jù)庫名稱 --tables 表1 表2 >保存文件名.sql
3.導(dǎo)出查詢結(jié)果
mysqldump -uroot -proot --databases 數(shù)據(jù)庫名稱 --tables 表名 --where='id=1' >保存文件名.sql
4.只導(dǎo)出表結(jié)構(gòu)
mysqldump -uroot -proot --no-data --databases 數(shù)據(jù)庫名稱 >保存文件名.sql
5.跨服務(wù)器導(dǎo)數(shù)據(jù)
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2
6.將h1服務(wù)器中的db1數(shù)據(jù)庫的所有數(shù)據(jù)導(dǎo)入到h2中的db2數(shù)據(jù)庫中,db2的數(shù)據(jù)庫必須存在否則會(huì)報(bào)錯(cuò)
mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test
-C可以啟用壓縮傳遞