目录
准备好一个表的员工,接下来都是对这个表进行操作
一、数据表里内容的修改和删除(更改,删除)
1.1增加一列数据
格式:alter table 表名 add column 列名 数据类型(数据长度);
注意:当名添加至某一固定位置时,在尾部添加之后列名1即可添加至列名1的后面,当添加至第一列时直接在尾部添加第一即可。
在名字的后面增加一列数据薪水
alter table employee add column salary float(1);
1.2删除一列数据
格式:alter table 表名 drop column 列名;
删除薪水列
alter table employee drop column salary;
1.3删除一行数据
格式:delete from 表名 where 条件
注意:若不添加条件,则清空整张表
删除最后一行玛丽的数据
delete from employee where name ='mary';
1.4对一列数据的重定义(一般用来重命名)
格式:alter table 表名 change 原列名新列名数据类型(数据长度)约束;
注意:此时若修改了数据类型,可能会造成数据丢失。
添加一列薪水(ENUM),后修改为性别
alter table employee add column salary int(1);
alter table employee change salary sex int(1);
1.5对一列数据类型的修改
格式:alter table 表名 modiify 列名 数据类型
将性别的INT型改成枚举类型
alter table employee modify sex enum('男','女');
二、数据表里内容的更新(更新)
2.1更新表中某行一个或多个数据
格式:update 表名 set 列名='更新值',列名=更新值......where 条件(条件用来确定哪一行,可确定多行)
注意:若不加条件,则会更新每一行的列数据
将第一行汤姆的性别改为男,年龄改为1岁
更新员工设置性别='男',年龄= 1,其中name ='tom';
三、索引和视图
3.1索引:就像字典里的目录,加快查找数据速度
- 主键列一定要建立索引
- 外键列可以建立索引
- text和二进制数据不要建立索引
格式:create index 索引名 on 表名(列名)
给ID加上索引
在雇员(ID)上创建索引idsy;
显示当前已加的索引:show indexs from 表名
可以看到员工表中已经设置有索引的有编号和名称俩项。
删除索引:drop index 索引名 on 表名
3.2视图的创建
视图:在原有表或视图的基础上,挑选需要的列数据创建的一个新表叫做视图,这个新表的数据全部来源于原有表,当原有表的
数据改变时,视图的数据也会跟着改变。视图可以看做一张表,对视图数据进行更改,原有表数据也会更改。
格式:create view 视图名(列名,....)as select 语句 【with local / cascaded check option】
with local check option(可不加) :在对视图进行update、insert、delete时要保证满足select语句里的where条件
若当前视图建立在视图基础上,只检查当前视图的select语句里的where条件
with cascaded check option(可不加):在对视图进行update、insert、delete时要保证满足select语句里的where条件
若当前视图建立在视图基础上,检查当前视图、底层视图的select语句里的where条件
四、 内置函数
内置函数:即mysql里已有的函数,函数可以嵌套。
4.1数学函数
abs(x):返回x的绝对值
pow(x,y):x的y次方/幂
mod(x,y):x除以y后的余数
sqrt(x):x的二次方开方,求根。
exp(x):e的x次方
ceil(x):返回不小于x的最小整数值
floor(x):返回不大于x的最大整数值
rand():返回0~1的随机数
pi():返回PI值
round(x):返回离x最近的整数
round(x,y):保留x小数点后y位的值,截取时需要四舍五入
4.2字符串函数
concat(s1,s2,...):将多个字符串连接为一个字符串
group_concat(列名):将一整列数据连接成未一个字符串
4.3日期和时间函数
curdate():返回日期,即年月日
curtime():返回时间,即时分秒
Now():返回当前日期和时间
year(d):返回日期d里的年份
month(d):返回日期的月份
dayofmonth(d):返回日期d是本月第几天
hour(d)/ minute(d)/ second(d):返回日期里的小时值,分钟值,秒值
datediff(d1,d2):日期d1和日期d2相隔天数
adddate(d,n):日期+n天后的日期
subdate(d,n):日期-n天后的日期
相关章节:
(一)https://blog.csdn.net/qq_38487155/article/details/79475851
(二)https://blog.csdn.net/qq_38487155/article/details/79488478
(四)https://blog.csdn.net/qq_38487155/article/details/79516314