(1)作为列的完整性约束
(2)作为表的完整性约束
将id字段和user字段设置为候选键
将classid字段设置为外键
将name字段添加非空约束
列约束,限制age字段的值
表约束,限制classid字段
添加命名外键完整约束
删除fk-classid
更新fk-classid的外键约束为级联删除和级联更新
创建一个存储过程
创建存储函数
declare var_name[...] type [default value]
set var_name=expr[,var_name=expr]..
declare cursor_name cursor for select_statement
open info_of_student
fetch info_of_student into tmp_name,temp_tel;
close info_of_student
显示所有db_database14的存储过程
show procedure status where db='db_database14';
模拟一个删除日志数据表和一个删除时间表
select * from information_schema.triggers;
使用触发器维护库存数量
原子性,一致性,隔离性,持久性
实现从借记卡账户A向B转账700元,成功后再从A向B转账500元
实现A向B转账500,出错时进行事务回滚
commit
set autocommit=1
在存储过程中创建事务
创建一个事务,当出现错误时,回滚到提前定义的回退点
读锁(共享锁)
写锁(排他锁)
(1)表级锁
(2)行级锁
以读方式锁定数据库中用户的数据表
在新的窗口查询则显示失败,关闭后则显示成功
窗口二
set clobal event_scheduler=ON;
event_scheduler=on
创建一个事件,用于每隔5秒向数据表tb_eventtest中插入一条数据
修改事件,让其每隔30秒向数据表插入数据
mysqldump -u root -p test student >E:\ student.sql
mysqldump -u root -p --database test mysql? >E:\backup.sql
mysqldump -u root -p --all -database? >E:\all.sql
show variables like '%datadir%';
mysql -u root -p <E:\all.sql
mysqldump -h name1 -u root -password=password1 --all-databases |
mysql -h host2 -u root -password=password2
实现导出信息表记录
select*from tb_bookinfo into outfile 'D:/bookinfo.txt'
? ? -> fields terminated by ?'\,' optionally enclosed by '\"'
? ? -> lines starting by '\>' terminated by '\r\n';
mysqldump -u root -p -T "D:\" db_database18 tb_library "--lines-terminated-by=\r\n"
"--fields_terminated_by=," "--fields_optionally_enclosed-by="";
mysql -u root -p --html? -e "select*from tb_bookinfo" db_database18>E:\bookinfo.html
将文本文件中的数据导入表中
load data infile 'E:\bookinfo.txt' into table tb_bookinfo
fields terminated by '\t'
lines terminated by '\r\n'
ignore 1 lines;
mysqlimport -u root -p? db_database18 "E:\tb_bookinfo.txt"
"--lines-terminated-by=\r\n" "--fields-terminated-by=\t" "--fields-optionally-enclosed-by=\"
connections:服务器连接次数
uptime:服务器上线时间
slow_queries:慢查询次数
com_select:查询操作次数
con_insert:插入操作的次数
com_delete:删除操作次数
查看服务器的连接和查询次数
?create index index_book_info on tb_bookinfo(bookname,price);
select*from tb_bookinfo where bookname='MySQL从入门到精通' or price=89;
?desc tb_student_extra;
?insert into temp_student select s.id,s.name,c.name
? ? -> from tb__student s,tb_class1 c where s.classid=c.id;
alter table 表名 disable keys;
set unique_checks=0;
set unique_checks=1;
insert into tn_food values
(null,'果冻','CC果冻',1.8,'2011','北京'),
...;
check table 表名1[,表名2...];
optimize table 表名1[,表名2...];
优化学生姓名和班级名称
SELECT s.name FROM tb_student s,tb_classes c WHERE s.classid=c.id AND c.name='一年三班';
SELECT name FROM tb_student WHERE class_id=(SELECT id FROM tb_classes c WHERE name='一年三班');
drop user mrsoft
grant all on *.* to 'super'@'localhost'with grant option
注:本章源代码来自《MySQL从入门到精通》