mysql表复制
- 复制表结构
create table student like user; - 复制表数据
insert into student select * from user;
mysql索引
- 查看索引
show index from user\G
1.普通索引
创建
create index i_age on user(age)
删除
drop index i_age on user
2.唯一索引
创建
create unique index u_username on user(username)
删除
drop index u_username on user
mysql视图
- 创建
create view userclass as select user.username,user.age,class.name from user,class where user.class_id=class.id - 删除
drop view userclass - 查看
show tables - 查看视图数据
select * from userclass - 视图的特性
当表中数据发生变化时视图数据也会随着发生变化。
mysql中查看表中未来的自赠数
show create table user;
MySQL中的内置函数
1.字符串函数
- concat(string [...]) 连接字符串
- lcase(string) 转换成小写
- ucase(string) 转换成大写
- length(string) string长度
- ltrim(string) 去除前端空格
- rtrim(string) 去除后端空格
- repeat(string,count) 重复count次
- replace(str,search_str,replace_str) 在str中用replace_str替换search_str
- substring(str,position [,length]) position开始,取length个字符
- space(count) 生成count个空格
- 数学函数
- bin() 十进制转二进制
- ceiling() 取上一个整数
- floor() 取下一个整数
- max() 取最大整数
- min() 取最小整数
- sqrt() 开平方
rand() 求0-1随机数
- 日期函数
- curdate() 当前日期
- curtime() 当前时间
- now() 当前时间和日期
- unix_timestamp() 当前时间戳
- from_unixtime() 时间戳转日期
- week(date) 一年中的第几周
- year(date) 日期中的年部分
- datediff() 日期的差值
- 重排auto_increment方法
- delete
- delete from user
- alter table user auto_increment=2
- truncate
truncate user
mysql中的命令的帮助
? create 简单
? da% 更多
巧用rand()提取随即行
select * from user order by rand limit 3
正则表达式的使用
- 以php结尾的数据
select * from user where username regexp 'php$' - 以php结尾或以linux结尾的数据
select * from user where username regexp 'php$' or username regexp 'linux$' - 查找包含php或linux或user的数据
select * from user where username regexp 'php|linux|user'
检查服务器增、删、改和查的使用频次(本次连接以来)
show status like "%Com_update%";
show status like "%Com_insert%";
show status like "%Com_select%";
show status like "%Com_delete%";
检查服务器增、删、改和查的使用频次(本次服务器启动以来)
show global status like "%Com_update%";
show global status like "%Com_insert%";
show global status like "%Com_select%";
show global status like "%Com_delete%";
查innodb自连接以来的影响行数
show status like "%InnoDB_rows%"
定位执行效率较低的sql语句
explain或desc定位一条sql语句的影响行数
desc select * from user where username='user8'\G
查看mysql的慢查询日志
show variables like "%quer%"
slow_query_log | on
查看慢查询的次数
show status like "%quer%"
slow_queries | 0
修改慢查询的时间(my.ini)
long_query_time=n
优化表空间
optimize table sales
check表检查
check table v_user
网友评论