1.CMD: mysql -u root -h [host] -p -P [port] -D [dbname]
2.client
3.show databases;
4.show tables;
5.use [dbname];
6.desc [tabname];
7.show create table/view/database/trigger/procedure [tabname]
8.导出表中记录:select * from emp into outfile "filename";
9.导入记录:load data infile "filename" into table tabname;
10.导出数据库的sql脚本:CMD:mysqldump -u root -p dbname > "filename"
11.导出数据库单个表的sql脚本:CMD:mysqldump -u root -p dbname tabname > "filename"
12.导入数据脚本:CMD:mysqldump -u root -p dbname < "filename"
13.导入数据脚本:source "filename" | use dbname
表的操作:
CURD:
C:create table tabname(...)
--常用的一些类型:
----int:整数类型
----varchar(20):字符串类型
----date/datetime/time/timestamp:日期时间类型
----Clob/Blob:大数据类型:
U:update tabname set ... where ...
R:简单:
--distinct:取消重复记录
--四则运算:ifnull()
--where
--like:% _
--in:条件内容是集合使用
--null: is null;
--order by
多表:
--子查询位置:select 列表 / where / from -->必须使用别名
--组合函数:max/min/sum/avg/count
--group by / having/order by : group by-->having-->order by
--group by /order by/select列表: 中可以使用组合函数
--自连接
左连接/右连接:
--inner join / outter join / full join
--outter join:tabA left join tabB on ...-->显示tabA所有的记录,tabB符合条件的内容
tabA right join tabB on ...-->显示tabB所有记录及长tabA符合条的内容
--inner join:等值连接 tabA join tabB on ..<==> ..from tabA,tabB where ..
D:delete from tabname where ...
表的管理:
--alter table tabname add col 类型描述
--alter table tabname change col col 类型的描述
--alter table tabname change col col1 类型描述
--alter table tabname drop col
--alter table tabname rename _tab
--alter table tabname add primary key(id);
--alter table tabname add constraint con_fk foreign key(id) references anothertable(id);
约束:
--primary key
--foreign key
--unique
--not null
--check()//mysql中不支持
事务:
--mysql中事务是自动提交的,改变这个动作: set autocommit = 0;
--begin;/start transaction;
--commit;
--rollback;
--乐观锁/悲观锁:select ... for update
临时表:
--create temporary table tabname(...);
--表的复制:create table tabname as select * from tab_name;
--tabname无主键,且无unique约束:插入当前表记录(数据复制):insert into tabname select * from tabname;
User
--增加用户及赋值权限:grant all on db.tab to name@"host" identified by "password";
--回收权限:revoke insert on db.tab from name@"host"
--删除用户:drop user name@"host";
范式:
--1nf:不可再分的列
--2nf:不可有非主属性对主码的部分函数依赖
--3nf:不可存在传递依赖