MySQL学习笔记_9_MySQL高级操作(上)
来源:互联网 发布:win10怎么查mac地址 编辑:程序博客网 时间:2024/04/29 19:31
MySQL高级操作(上)
一、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_nameas 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学习笔记_9_MySQL高级操作(上)
- MySQL学习笔记_10_MySQL高级操作(下)
- MySQL学习笔记_10_MySQL高级操作(下)
- SVN学习笔记三 (SVN高级操作 上)
- 《JavaScript高级程序设计》学习笔记(第五章)- 上
- 学习笔记—面向对象高级篇上(GeekBand)
- C++面向对象高级编程(上)学习笔记
- C++面向对象高级编程(上)学习笔记
- C++面向对象高级编程(上)学习笔记
- javaScript高级程序设计学习笔记(3上)
- javaScript高级程序设计学习笔记(5上)
- MySQL学习笔记(2)MySQL高级
- Mysql学习历程(11)-高级数据操作
- LDD3学习笔记(9):高级字符驱动操作
- Linux学习笔记(十三)键盘高级操作技巧
- javascript高级编程学习笔记 DOM操作(一)
- MYSQL学习笔记(四)高级数据过滤
- 23种设计模式(7):中介者模式
- 交流电压测量 测量电路
- TOMCAT内存溢出问题
- cvFindCounter轮廓检测 -------上
- 高可用性模式配置完毕
- MySQL学习笔记_9_MySQL高级操作(上)
- SQL2005学习总结(一)基本概念
- C#另类延时
- android 开发中修改sdk level
- 创建MATLAB adaptor的项目
- linux下用socket传送xml格式的文件方法
- eclipse的一些开发技巧
- sdjzu 21273
- NYOJ595 乱七八糟