MySQL学习笔记(三)

目录

一、数据表里内容的修改和删除(更改,删除)

二、数据表里内容的更新(更新)

三、索引和视图

四、 内置函数


准备好一个表的员工,接下来都是对这个表进行操作

一、数据表里内容的修改和删除(更改,删除)

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索引:就像字典里的目录,加快查找数据速度

  1. 主键列一定要建立索引
  2. 外键列可以建立索引
  3. 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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值