mysql之表操作

(这里的表操作主要讲的是对表本身属性的修改如创建,修改名字等,并不会对表的数据进行操作)

1、创建表

关键字:
create table
在这里插入图片描述

创建一个book表

在这里插入图片描述

desc 查看表结构
在这里插入图片描述

建表的时候,也是要设置字符集、校验规则与存储引擎,如果不设置表会默认添加一行,表根据什么来添加的?
答案是根据表所在库的字符集等设置。
哪可不可以将表与库的字符集设置成不同的?
最好不要(我没试过)

在这里插入图片描述

使用show create table 来查看mysql怎么调整我们的代码,可以看到默认加了一行设置
创建表之前一定要创建一个库,并且使用use 来使用这个库,才可以在库里创建表
在这里插入图片描述
在这里插入图片描述

查看当前使用的库与查看库中存在的表

2、表的修改

2.1表的修改用到的关键字:alter table
2.2表有哪些内容可以修改?
在这里插入图片描述

这样一个商品表,我们可以增加或删除列,或者修改列属性

1.alter table 表 modify 【field】 新属性
在这里插入图片描述

将价格的字段类型从int 改成float
我们可以看到,当price的int类型被修改成float类型之后,null字段被置成的yes,这是怎么回事?
这是因为当mysql执行修改表的语句时,是直接覆盖到原语句上去的。
在这里插入图片描述

编译器会通过优化,将修改语句直接覆盖到建表语句中
在这里插入图片描述

2.增加列
alter table 表 add

在这里插入图片描述

在这里插入图片描述

同样也是添加到了建表语句中

3.删除列
alter table 表 drop 列
在这里插入图片描述

最好不要在表中已经有数据的情况下,对表进行修改,可能会对表中的数据产生影响

4.修改列的名字
alter table 表 change

在这里插入图片描述

将desc修改为descrip,由于mysql的修改是覆盖式写入的,所以要把原建表语句原封不动的写上去免得受影响。

5.修改表名字
alter table 表 rename 新表

在这里插入图片描述

3.数据类型

在这里插入图片描述

当输入的数据超过数据类型的范围时,数据库就会报错,数据类型的本质是一种约束!
bit(M)M表示几个比特位,没有默认为1 1<=M<=64
bit类型存储的数据按照ASCII码形式打印

小数类型:
float 类型:float(m,d) m表示一共存储几位 d表示小数点后面有几位
decimal类型:deciaml(m,d) 与float相似,但是decimal存储的精度略高于float
char类型: char(size) char表示定长字符
varchar类型:varchar(size) varchar表示变长字符,如varchar(64),表示最大长度为64,当输入10个字符时,编译器会开一个10字符的空间,而不是64字符,可以节省空间

4.enum 与set

enum表示枚举,单选
set 表示集合,多选
示例:
在这里插入图片描述

在这里插入图片描述

set集合中的元素如果使用数字输入对应相应的位图
1->00001 登山
2->00010 游泳
3->00011 登山 游泳
4->00100 篮球

5.查找
在这里插入图片描述

集合查找
find_in_set

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值