mysql常用语句

2017-04-23  本文已影响0人  开心的许久

创建数据库

create database *mydata*;

创建用户

create user *xuduo* IDENTIFIED by *'xuduo123'*;

用户授权

格式:grant 权限 on 数据库.* to 用户名@登录主机 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` )

导入导出

1.导出数据库的结构和数据
mysqldump -uroot -proot --databases 数据库名称 >保存文件名.sql
2.导出数据库中的某几张表
mysqldump -uroot -proot --databases 数据库名称 --tables 表1 表2 >保存文件名.sql
3.导出查询结果
mysqldump -uroot -proot --databases 数据库名称 --tables 表名 --where='id=1' >保存文件名.sql
4.只导出表结构
mysqldump -uroot -proot --no-data --databases 数据库名称 >保存文件名.sql
5.跨服务器导数据
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2
6.将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错
mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test

-C可以启用压缩传递

上一篇 下一篇

猜你喜欢

热点阅读