#数据库操作
mysql -h127.0.0.1 -P3306 -uroot -p123456    #连接数据库
show databases;     #显示数据库
use dnname;         #选择库
show tables;        #显示库中的表
desc tbname;        #显示表字段信息
show create table tbname;   #显示字段的详细信息
#database
create database dbname;     #创建db
drop database dbname;       #删除db
#table
##建表
create table tbanme(
    column_1 type conditions,
    column_2 type conditions,
    ……,
    key `column_1_idx` (`column_1`)
)ENGINE=innodb default charset=utf8;   
##删表
drop table tbname;
##修改表
alter table test modify ename varchar(20);   #ename 字段类型修改为varchar(20)
alter table test add gender tinyint(1) unsigned not null default 0 [first|after ename];  #增加gender字段在ename之前或之后
alter table test drop gender;    #删除gender字段
alter table test change old_col_name new_col_name definition  #修改字段名(modify不能修改列名)
alter table test rename test_1;     #修改表名
#insert 
insert into tbname(col1,col2,……)values(val1,val2,……);  #insert one
insert into tbname(col1,col2,……)values
(val1,val2,……),
(val1,val2,……),
……
(val1,val2,……);         #insert multi
#update 
update tbname set col1=val1,col2=val2,……,coln=valn where conditons;
#delete
delete from tbname where conditions;
#select
select * from test;
select distinct ename from test;
select * from test where ename='jim';
#表连接
*表连接分为内连接和外连接。内连接是取查询表中相同的记录。外连接分为左连接和右连接。左连接以左表为主,右连接以右表为主。
select ename,deptname from emp,dept where emp.deptno=dept.deptno;  #内连接
select ename,deptname from emp inner join dept on emp.deptno=dept.deptno;  #内连接
select ename,deptname from emp left join dept on emp.deptno=dept.deptno;  #左连接,左表为主
select ename,deptname from emp right join dept on emp.deptno=dept.deptno;  #右连接,右表为主
#联合查询
select deptno from emp union all select deptno frpm dept;     #取并集
select deptno from emp union select deptno frpm dept;     #取并集,但去重。
#创建一个tom账户,对gocar数据库的所有表只有select/insert权限:
grant select,insert on gocar.* to 'tom'@'localhost' identified by '123456';
#权限变更,回收insert权限:
revoke insert on gocar.* from 'tom'@'localhost';