1. 复制表结构,和表中的数据
cretat table t2 like t1;
insert into t2 from select * from t1;
2. alter table用来创建普通索引、unique索引或primarykey索引
ALTER TABLE table_name ADD UNIQUE index_name(column_list)
ALTER TABLE table_name ADD UNIQUE (column_list)
ALTER TABLE table_name ADD PRIMARY KEY(column_list)
3. mysql视图
create view v_t1 as select * from t1 where id>4 andid<11;
查看视图 show tables
删除视图 drop view v_t1
视图是一种临时表
4. mysql常用函数
CONCAT(string[,…]) 连接字串
LCASE(string2) 转换成小写
UCASE(string2) 转换成大写
LENGTH(string) string长度
LTRIM(string) 去除前端空格
RTRIM(string) 去后前端空格
REPEAT(string2.count) 重复count次
REPLACE(str,search_str,replace_str) 在str中用replace_str替换search_str
SUBSTRING(str,position,[,length]) 从str的position开始,取length个字符
SPACE(COUNT) 生成count个空格
5. mysql预处理
设置stmt1预处理,传递一个数据作为一个where判断条件
Mysql>prepare stmt1 from ‘select * from t1 where id>?’;
设置一个变量
Mysql>set @i=1;
执行stmt1预处理:
Mysql>execute stmt1 using @i;
设置@i为5
Mysql>execute stmt1 using @i;
删除预处理
drop prepare stmt1;
6. mysql事务处理
关闭自动提交功能
Mysql>set autocommit=0;
从表t1中删除了一条记录
Mysql>delete from t1 where id=11
此时做一个p1还原点
Mysql> savepoint p1;
再次从表t1中删除一条记录
Mysql>delete from t1 where id=10
再次做一个p2还原点
Mysql>savepoint p2
此时恢复到p1还原点,当然后面的p2这些还原点自动会消失
Mysql>rollback to p1
退回到最原始的还原点
Mysql>rollback;
7. mysql触发器
修改delimiter为//
Mysql>\d//
创建一个名字为tg1的触发器,当向t1表中插入数据时,就像t2表中插入一条数据
Mysql>create trigger tg1 before insert on t1 for eachrow
>begin
>insert into t2(id) values (new.id)
>end//
准备两个空表t1和t2
Mysql>select * from t1;
Mysql>select * from t2;
向t1表中插入多条数据
Mysql>insert into t1 valuees(1),(2);