一,数据查询语言DQL
Select *from where
(1)只显示2个字段select id,name,age,dept from zjn limit 2;
(2)降序排序查询selectid,name,age,dept from zjn order by id desc;
(3)多表查询selectstudent.Sno,student.Sname,course.Cname,SC.Ccredit from student,course,SC where student.Sno=SC.Conand course.Cno=SC.Con;
二,数据操纵语言DML
1) 插入:INSERT 2) 更新:UPDATE 3) 删除:DELETE
(1)常规的插入法insertinto zjn(id,name,age,dept) values(1,'zjn',22,'test');
(2)这样就可以自增insertinto zjn(name,age,dept) values('tyy',22,'test');
(3)插入2条数据 insert into zjnvalues(4,'hhh',22,'test'),(5,'wowo',22,'test')
(4)删除 deletefrom zjn; delete from zjn where id=4;
(5)updatestudent set Sname='tyy' where Sno=2;
(6)updatemysql.user set password=password('hnas_9800');更新数据库密码,非明文。
三,数据定义语言DDL
DDL操作是隐性提交的!不能rollback
CREATE ALTER DROPTABLE/VIEW/INDEX/SYN/CLUSTER等
(1)alter tablestudent add salar int(6);
(2)alter tablestudent add s_id int(6) after Sno;在Sno字段后加字段
(3)alter tablestudent add qq int(8) first;在第一行添加字段
(4)alter tablestudent change qq weixin int(12);
(5)alter tablezjn rename to tyy;改表的名字
(6) createdatabase zjn_utf8 default character set utf8 collate utf8_general_ci; 创建utf8字符集数据库
四,数据控制语言DCL
1) GRANT:授权。
2) ROLLBACK [WORK] TO [SAVEPOINT]:
(1)grantselect,insert,update,delete on *.* to tyy@192.168.44.1 identified by'hnas_9800';(生产数据库一般用上面的4个权限)
五,索引
(1)创建主键索引 altertable zjn change id id int primary key auto_increment;
(2)根据列的前8个字符创建索引 alter table zjn add index index_dept(dept(8));
(3)创建索引 createindex ind_name_dept on zjn(name);
(4)删除索引altertable zjn drop index index_dept;
(5)添加索引 createindex index_name on student(Sname);
(6)查看执行过程explain select * from student where Sname='zjn'\G
六,其他命令
(1),promptmysql \u@zjn \r:\m:\s-> 改变mysql界面
(2),showdatabases like '%zjn%' 显示数据库
(3),selectdatabase();查看当前数据库
(4),showgrants for zjn@localhost\G 查看用户权限。
(5),mysql-uroot -phnas_9800 -S /data/3306/mysql.sock -e "show grants forzjn@'192.168.44.1'"|grep -i grant|tail -1|tr ',' '\n'>all.txt
将权限导入到all.txt中。
(6)安全登录,避免误操作,mysql=mysql -U
七,MYSQL交互
(1)mysql -u root-phnas_9800 -S /data/3306/mysql.sock -e "show processlist\G"查看mysql进程的
(2)mysql -u root-phnas_9800 -S /data/3306/mysql.sock -e "show variables\G 查看mysql的变量
(3)mysql -u root -phnas_9800 -S/data/3306/mysql.sock -e "show global status"|grep sel
(4)set global key_buffer_size=1024*1024*32在Mysql里设置参数值 不重启MYSQL都生效
(5) show status 查看当前会话的数据库状态信息
(6) show global查看整个数据库运行状态信息
(7) show full processlist 查看正在执行的SQL语句
(8),show variables 查看数据库参数信息,例如my.cnf的信息。