1. 首页
  2. 技术知识

MySQL数据库之数据表操作

目录

    一、创建数据表

      1、基本语法2、创建方式一3、创建方式二4、表选项5、复制已有表结构

    二、显示数据表三、显示表结构四、显示表创建语句五、设置表属性六、修改表结构

      1、修改表名2、新增字段3、修改字段名4、修改字段属性5、删除字段

    七、删除表结构

一、创建数据表


1、基本语法

create table 表名 (

    字段名 字段类型 [字段属性],

    字段名 字段类型 [字段属性],

    …

) [表选项];


需要注意:表需要放在对应的数据库下面

2、创建方式一

— 先选择数据库

use mydatabase;

— 创建数据表

create table user(

    name varchar(10)

);

3、创建方式二

— 直接将数据表挂到数据库下

create table mydatabase.user(

    name varchar(10)

);

4、表选项

    Engine 存储引擎Charset 字符集Collate 校对集

指定表的字符集

create table user(

    name varchar(10)

) charset utf8;

5、复制已有表结构

create table 表名 like 表名;

— eg 从test数据库复制表

create table user like test.user;

二、显示数据表

— 显示所有表

mysql> show tables;

+———————-+

| Tables_in_mydatabase |

+———————-+

| t_author             |

| user                 |

+———————-+

— 显示匹配表

mysql> show tables like ‘%author’;

+——————————–+

| Tables_in_mydatabase (%author) |

+——————————–+

| t_author                       |

+——————————–+

三、显示表结构

基本语法:

desc 表名(常用);

describe 表名;

show columns from 表名;


示例:

mysql> desc user;

+——-+————-+——+—–+———+——-+

| Field | Type        | Null | Key | Default | Extra |

+——-+————-+——+—–+———+——-+

| name  | varchar(10) | YES  |     | NULL    |       |

+——-+————-+——+—–+———+——-+

1 row in set (0.00 sec)

mysql> describe user;

+——-+————-+——+—–+———+——-+

| Field | Type        | Null | Key | Default | Extra |

+——-+————-+——+—–+———+——-+

| name  | varchar(10) | YES  |     | NULL    |       |

+——-+————-+——+—–+———+——-+

1 row in set (0.01 sec)

mysql> show columns from user;

+——-+————-+——+—–+———+——-+

| Field | Type        | Null | Key | Default | Extra |

+——-+————-+——+—–+———+——-+

| name  | varchar(10) | YES  |     | NULL    |       |

+——-+————-+——+—–+———+——-+

1 row in set (0.01 sec)


字段含义:

Field    字段名

Type     字段类型

Null     是否允许为空

Key      索引

Default  默认值

Extra    额外的属性

四、显示表创建语句

基本语法:

show create table 表名;
示例:

mysql> show create table user;

+——-+—————-+

| Table | Create Table   |

+——-+—————-+

| user  | CREATE TABLE `user` (

  `name` varchar(10) COLLATE utf8mb4_general_ci DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci |

+——-+—————-+

1 row in set (0.00 sec)


语句结束符:

    ; \g 效果一样,字段在上,数据在下\G 字段在左,数据在右

mysql> show create table user\G

*************************** 1. row ***************************

       Table: user

Create Table: CREATE TABLE `user` (

  `name` varchar(10) COLLATE utf8mb4_general_ci DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

1 row in set (0.00 sec)

五、设置表属性

    enginecharsetcollate

— 基本语法

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

— eg 修改表的字符集

alter table user charset gbk;

如果数据表已经有数据,不要轻易修改表属性

六、修改表结构


1、修改表名

–基本语法

rename table 旧表名 to 新表名;

— eg:

rename table user to tb_user;

2、新增字段

— 基本语法

alter table 表名 add [column] 字段名 字段类型 [字段属性] [位置first/after 字段名];

mysql> desc user;

+——-+————-+——+—–+———+——-+

| Field | Type        | Null | Key | Default | Extra |

+——-+————-+——+—–+———+——-+

| name  | varchar(10) | YES  |     | NULL    |       |

+——-+————-+——+—–+———+——-+

— 给学生表新增age字段,默认加到表的最后

mysql> alter table tb_user add age int;

mysql> desc tb_user;

+——-+————-+——+—–+———+——-+

| Field | Type        | Null | Key | Default | Extra |

+——-+————-+——+—–+———+——-+

| name  | varchar(10) | YES  |     | NULL    |       |

| age   | int(11)     | YES  |     | NULL    |       |

+——-+————-+——+—–+———+——-+

— 在最前面增加一个id字段

mysql> alter table tb_user add id int first;

mysql> desc tb_user;

+——-+————-+——+—–+———+——-+

| Field | Type        | Null | Key | Default | Extra |

+——-+————-+——+—–+———+——-+

| id    | int(11)     | YES  |     | NULL    |       |

| name  | varchar(10) | YES  |     | NULL    |       |

| age   | int(11)     | YES  |     | NULL    |       |

+——-+————-+——+—–+———+——-+


字段位置:

first          放在最前名

alter 字段名    放在某个字段后面


3、修改字段名

— 基本语法

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

— 将age字段修改为old

mysql> alter table tb_user change age old int;

mysql> desc tb_user;

+——-+————-+——+—–+———+——-+

| Field | Type        | Null | Key | Default | Extra |

+——-+————-+——+—–+———+——-+

| id    | int(11)     | YES  |     | NULL    |       |

| name  | varchar(10) | YES  |     | NULL    |       |

| old   | int(11)     | YES  |     | NULL    |       |

+——-+————-+——+—–+———+——-+

4、修改字段属性

— 基本语法

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

— eg 将name的长度由10修改为20

mysql> alter table tb_user modify name varchar(20);

mysql> desc tb_user;

+——-+————-+——+—–+———+——-+

| Field | Type        | Null | Key | Default | Extra |

+——-+————-+——+—–+———+——-+

| id    | int(11)     | YES  |     | NULL    |       |

| name  | varchar(20) | YES  |     | NULL    |       |

| old   | int(11)     | YES  |     | NULL    |       |

+——-+————-+——+—–+———+——-+


5、删除字段

— 基本语法

alter table 表名 drop 字段名

— eg 删除old字段

alter table tb_user drop old;


七、删除表结构

— 基本语法, 可以同时删除多个表

drop table 表名 [, 表名…];

— eg: 删除 tb_user表

mysql> drop table tb_user;

mysql> show tables;

+———————-+

| Tables_in_mydatabase |

+———————-+

| t_author             |

+———————-+到此这篇关于MySQL数据库之数据表操作的文章就介绍到这了,更多相关MySQL数据表内容请搜索共生网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持共生网络!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/118333.html

联系我们