数据表的增删改查

表操作

表与字段是密不可分的

新增数据表

create table [if not exists] 表名 (

字段名字  数据类型,

字段名字  数据类型     -- 最后一行不需要逗号

) [库选项];

if not exists:如果表名不存在,那么就创建,否则不执行创建代码,检查功能

表选项:控制表的表现

        字符集:charset/character set 具体字符集; -- 保证表中数据存储的字符集

         校对集:collate 具体校对集;

         存储引擎:engine 具体的存储引擎(innodb 和 myisam)

数据表的增删改查

任何一个表的设计都必须指定数据库

方案1:显示地指定表所属的数据库

create table 数据库名.表名();   -- 将当前数据库表创建到指定的数据库下

数据表的增删改查

方案2:隐式地指定表所属数据库,先进入到某个数据库环境,然后这样创建的表自动归属到某个指定的数据库

进入数据库环境:use 数据库名字;

数据表的增删改查

当创建数据表的SQL指令执行之后,到底发生了什么?

1、指定数据库下已经存在对应的表

2、在数据库对应的文件夹下,会产生对应表的结构文件(跟存储引擎有关系)

数据表的增删改查

 

查看数据表

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

1、查看所有表:show tables;

数据表的增删改查

2、查看部分表,模糊匹配:show tables like 'pattern';

数据表的增删改查

3、查看表的创建语句:show create table 表名;

数据表的增删改查

4、查看表结构:查看表中的字段信息

desc/describe/show columns from 表名;

数据表的增删改查

修改数据表

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

修改表本身

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

修改表名:rename table 老表名  to  新表名;

数据表的增删改查

修改表选项:字符集、校对集和存储引擎

alter  table 表名 表选项 [=] 值;

数据表的增删改查

修改字段

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

新增字段

alter table 表名 add [column]  字段名 数据类型 [列属性]  [位置];

位置:字段名可以存放在表中的任意位置

      First:第一个位置

      After:在哪个字段之后:after字段名:默认的是在最后一个字段之后

数据表的增删改查

修改字段:修改通常是修改属性或者数据类型

alter table 表名 modify 字段名 数据类型[属性] [位置]

数据表的增删改查

重命名字段

alter table 表名  change 旧字段 新字段 数据类型 [属性] [位置];

数据表的增删改查数据表的增删改查

删除字段

alter table 表名 drop 字段名;

数据表的增删改查

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

 

删除数据表

drop table 表名1,表名2...;  -- 可以一次删除多张表

数据表的增删改查

当删除数据表的指令执行之后发生了什么?

1、在表空间中,没有了指定的表(数据也没有了)

2、数据库对应的文件夹下,表对应的文件(与存储引擎有关)也会被删除

数据表的增删改查

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