MySQL表&字段操作增删改查

数据库的表操作

表与字段是密不可分的

新增数据表

Create table 表名[if not exists](
字段名字  数据类型 ,
字段名字  数据类型   --最后一行不需要逗号
)[表选项];

If not exists : 如果表明不存在,那么就创建,否则不执行穿件代码;检查功能
表选项: 控制表的表现
字符集: charset/character set 具体字符集; –保证表中数据存储的字符集
校对集: collate 具体校对集;
存储引擎:engine 具体的存储引擎(innodb和myisam)
方案一:显式指定表所属的数据库
创建表

Create table if not exists mydatabase.student(
Name varchar(10),
Gender varchar(10),
Number varchar(10),
Age int
)charset utf8;

这里写图片描述
方案二:隐式的指定表所属的数据库,先进入某个数据库环境,然后这样创建的表自动归属到某个指定的数据库
进入数据库环境:use 数据库名字 ;

Use mydatabase;


-- 创建表
Create table class(
Name varchar(10),
Room varchar(10)
)charset utf8;

这里写图片描述
当创建数据表SQL指令执行的时候到底发生了什么?
1.指定数据库下已经存在对应的表
2.在数据库对应文件下,会产生对应表的结构文件(跟存储引擎有关系)
这里写图片描述

查看数据表

数据库能查看的方式,表都能查看

1.查看所有的表:
show tables ;
这里写图片描述
2.查看部分表: 模糊匹配: show tables like ‘pattern’;

-- 查看以s结尾的表
Show tables like ‘%s’;

这里写图片描述

3.查看表的创建语句: show create table 表明;

-- 查看表创建语句
Show create table class\g;
Show create table class\G;   -- 将查到的结构90度变成纵向

4.查看表结构:查看表中的字段信息
Desc/describe/show columns from 表名;

-- 查看表结构
Desc class;
Describe class;
Show columns from class ;

这里写图片描述

修改数据表

表本身存在,还包含字段:表的修改分为两个部分:修改表本身和修改字段

修改表本身
表本身可以修改:表名和表选项

修改表名:rename 老表名 to 新表名;
– 重命名表:student表->my_student(取数据库名字的前两个字母)

Rename table student to my_student;

这里写图片描述
修改表选项
字符集,校对集和存储引擎
Alter table 表名 表选项 [=] 值

-- 修改表选项 :字符集
Alter table my_student charset = GBK;

这里写图片描述

修改字段

字段操作很多:新增、修改、重命名、删除

新增字段
Alter table 表名 add [column] 字段名 数据类型 [列属性][位置];
位置:字段名可以存放表中的任意位置
First:第一个位置
After:在哪个字段之后:after字段;默认的是在最后一个字段之后

-- 给学生表增加ID放到第一个位置
Alter table my_student
Add column id int
First;   -- mysql 会自动寻找分号作自动结束符

这里写图片描述
这里写图片描述
修改字段:通常是修改属性或者数据类型
Alter table 表名 modify 字段名 数据类型[属性][位置];
– 将学生表中的number 学号字段变成固定长度,并且放到第二位(id)之后

Alter table my_student
Modify number char (10) after id ;
![这里写图片描述](https://img-blog.csdn.net/20180901151327267?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODA3Mzk1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

重命名字段
Alter table 表名 change 旧字段 新字段名 数据类型 [属性][类型];
– 修改学生表中的gender字段为sex
Alter table my_student
Change gender sex varchar(10);
这里写图片描述
删除字段
Alter table 表名 drop 字段名;

-- 删除学生表中的age字段
Alter table my_student drop age;

这里写图片描述

小心:如果表中已存在数据,那么删除字段会删除该字段的所有数据(不可逆)

删除数据表

Drop table 表名1,表名2……; –可以一次性删除多张表

-- 删除数据表
Drop table class;

这里写图片描述
当删除数据表的指令执行之后发生了什么?
1.在表空间中,没有了指定的表(数据也没有了)
2.在数据对应的文件夹下,表对应的文件(与存储引擎有关)也会被删除
这里写图片描述

注意:删除有危险,操作需谨慎,删除不可逆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值