一、 MySQL 表复制
create table t2 like t1; # 复制表结构, t2 可以学习到 t1 所有的表结构
insert into t2 select * from t1; # 复制表数据,但是这样还是会有缺陷,因为没有考虑到列的对应,因为 t1 与 t2 的表结构完全一致,所以此次操作才不会出错!
建议:
insert into t3(name) select name from t1; # 指定复制的列
二、 MySQL 索引
1 、直接创建索引
create index index_name on table_name(column_list); # 创建普通索引
create unique index index_name on table_name(colume_list); # 创建唯一索引,请在创建唯一索引之前确保该列没有重复值,不然,创建不成功!
2 、直接删除索引
drop index index_name on table_name;
3 、修改 - 创建索引
alter table table_name add index [index_name](colum_list); # 创建普通索引
alter table table_name add unique [index_name](column_list); # 创建唯一索引
alter table table_name add primary key [index_name](column_list); # 创建主键索引,如果不添加 index_name, 则使用 column_list 作为默认索引名
4 、修改 - 删除索引
alter table table_name drop index index_name; # 删除普通 / 唯一索引
alter table table_name drop primary key; # 删除主键索引
【推荐使用方式 3 、 4 】
【附】
1 、查看索引: show index from t1 \G
2 、 alter table table_name modify id int not null;
三、 MySQL 视图
视图:通过一个条件,把一部分数据从一张表里面提取出来,形成一张中间表,这张表就是视图
注意:视图随着主表的改变而改变
1 、创建视图
create view view_name as select *from table_naem where id > 4 and id <= 10;
3 、查看创建了哪些视图
showtables; # 视图就是一个中间表
3 、查看视图中数据
select* from view_name; # 与查看表数据相同
4 、删除视图
drop view view_name;
四、 MySQL 内置函数补充
查看函数作用及简单示例: ? function_name
e.g. ? lcase;
1 、字符串函数
1 ) lcase(“string”)/ucase(“string”) # 转换成小写 / 大写,与 lower(str)/upper(str) 作用相同
2 ) length(“string”) # 返回字符串的长度
3 ) repeat(“string”,n) # 将字符从重复 n 次
4 ) space(n) # 生成 n 个空格
2 、数学函数
1 ) bin(decimal_number) # 十进制转二进制
2 ) ceiling(n) # 作用与 ceil 相同,向下取整
3 ) sqrt(n) # 开平方
4 ) max(col)/min(col) # 取最大 / 最小值,聚合时使用
5 ) rand() # 生成随机数
select * from table_name order by rand(); # 使用 rand 函数作为排序基准
3 、日期函数
1 ) datediff(expr1,expr2) # 返回 expr1 和 expr2 相差的天数,如果 expr1> expr2 ,则返回正值
MySQL学习笔记_9_MySQL高级操作(上)
标签:mysql sql 视图 索引 函数
查看更多关于MySQL学习笔记_9_MySQL高级操作(上)的详细内容...