该章要点

  • 一、 查看数据库表; 【show tables;】
  • 二、 创建数据库表【create table 表名(字段名1,数据类型 列级别约束条件 默认值,字段名2,数据类型 列级别约束条件 默认值,…表级别约束条件); 】
  • 三、查看数据表结构【describe 表名; 或者 desc 表名; 】
  • 四、定义主键约束
  • (1).单字段主键
  • 同时定义单字段主键
  • 最后定义单字段主键
  • (2) 多字段联合主键
  • 五、定义外键约束
  • 六、定义非空约束
  • 七、定义唯一性约束
  • (1)在定义玩列后直接定义唯一约束
  • (2)在定义完所有列之后指定唯一约束
  • 八、定义默认值约束
  • 九、定义表属性值的自动增加
  • 十、 修改数据表
  • (1)修改表名
  • (2)修改字段的数据类型
  • (3)修改字段名
  • (4)添加字段
  • 添加无完整性约束条件的字段
  • 添加有完整性约束的条件
  • 在表的第一列添加一个字段
  • 在表的指定列之后添加一个字段
  • 删除字段
  • 修改字段的排列位置
  • (1)修改字段为表第一个字段
  • (2)修改字段到指定列之后
  • 更改表的存储引擎
  • 删除表的外键约束
  • 四、删除数据库表:【drop table if exists 表名1,表名2,…表名n; 】
  • 删除没有关联的数据表
  • 删除被其他表关联的主表


一、 查看数据库表; 【show tables;】

命令语句:use db_demo1;

show tables;

mysql中有哪些表 mysql 表_数据类型

二、 创建数据库表【create table 表名(字段名1,数据类型 列级别约束条件 默认值,字段名2,数据类型 列级别约束条件 默认值,…表级别约束条件); 】

命令语句:

查看当前所有数据库show databases;

创建数据库:create database db_demo1;

选择数据库:use db_demo1;

创建包含字段表:create table tb_employee(id int(11),name varchar(25),departmentIdint(11),salary float);

mysql中有哪些表 mysql 表_mysql_02

三、查看数据表结构【describe 表名; 或者 desc 表名; 】

mysql中有哪些表 mysql 表_表名_03


查看表的详细结构:【show create table 表名\G; 】

四、定义主键约束

主键是唯一能够表示一条记录的字段,他们之间是一一对应的关系,就像身份证号码和人之间的关系一样,通过主键可以定义不同数据表之间的关系。主键分为两种类型:单字段主键和多字段联合主键。

(1).单字段主键

同时定义单字段主键

语法结构:create table 表名(字段名,数据类型 列级别约束条件 默认值 primary key,…); 命令语句:create table tb_employee2(id int(11) primary key,name varchar (25),departmentId int(11),salary float);

mysql中有哪些表 mysql 表_表名_04

最后定义单字段主键

语法结构:create table 表名(字段名,数据类型 列级别约束条件 默认值,…primary key (字段名));

mysql中有哪些表 mysql 表_mysql_05

(2) 多字段联合主键

语法结构:create table 表名(字段名,数据类型 列级别约束条件 默认值,…primary key (字段1,字段2,…,字段n));

mysql中有哪些表 mysql 表_数据类型_06

五、定义外键约束

外键是表中的一个字段,它不是本表的主键,但对应另外一个表的主键,一个表可以有一个或多个外键,多个外键字段名称不能相同。外键用来在两个表之间建立连接,它可以是一列或多列。
外键对应的是参照完整性,一个表的外键可以是空值,如果不为空值,那么每一个外键值必须等于另一个表中主键的某个值。

语法结构:create table 子表名(字段名,数据类型 列级别约束条件 默认值primary key,…constraint 外键约束名称 foreign key(字段) references 父表名(主键字段));定义数据表tb_employee5,让它的键departmentId作为外键连接到tb_department1表的主键id

mysql中有哪些表 mysql 表_mysql表列是什么_07

六、定义非空约束

非空约束是指字段的值不能为空,对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据系统会报错。

语法结构:create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 默认值 not null,…);

mysql中有哪些表 mysql 表_表名_08

七、定义唯一性约束

唯一性要求该列唯一,允许为空,但只能出现一个空值,唯一性能确保一列或几列值不重复。

(1)在定义玩列后直接定义唯一约束

语法结构:create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 默认值 unique,…);

mysql中有哪些表 mysql 表_字段_09

(2)在定义完所有列之后指定唯一约束

语法结构:create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型默认值 ,…,constraint sth unique(字段1,字段2,…));

mysql中有哪些表 mysql 表_表名_10

八、定义默认值约束

默认约束可以指定某列的默认值语法结构:create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 default 默认值 ,…);

mysql中有哪些表 mysql 表_mysql表列是什么_11

九、定义表属性值的自动增加

在数据库应用中,经常希望在每次插入新纪录时,系统会自动生成字段的主键值,这可以通过为主键添加AUTO_INCREMENT关键字来实现。MySQL中它的初始值默认为1。注意,一个表只能有一个一个字段使用自增约束,且该字段为主键的一部分。它可以是任意的整数类型(tinyint,smallint,int,bigint等)

语法结构:create table 表名(字段1 数据类型 默认值 primary key auto_increment,字段2 数据类型 默认值 ,…);

mysql中有哪些表 mysql 表_数据类型_12

十、 修改数据表

修改表是指修改数据库中已有数据表的结构。MySQL使用alter table语句修改表。

(1)修改表名

语法结构:alter table 旧表名 rename 新表名;

mysql中有哪些表 mysql 表_字段_13

(2)修改字段的数据类型

语法结构:alter table 表名 modify 字段名 数据类型;

mysql中有哪些表 mysql 表_mysql_14

(3)修改字段名

语法结构:alter table表名 change 旧字段名 新字段名 新数据类型;

mysql中有哪些表 mysql 表_mysql_15

(4)添加字段

添加完整字段包括字段名、数据类型、完整性约束。添加字段的语法格式如下:
语法结构:alter table 表名 add 新字段 数据类型 约束条件 first | after 已存在的字段名;

添加无完整性约束条件的字段

语法结构:alter table 表名add 新字段 数据类型;

mysql中有哪些表 mysql 表_字段_16

添加有完整性约束的条件

语法结构:alter table 表名 add 新字段 数据类型 约束条件;

mysql中有哪些表 mysql 表_数据类型_17

在表的第一列添加一个字段

语法结构:alter table 表名 add 字段名 数据类型 first;

mysql中有哪些表 mysql 表_字段_18

在表的指定列之后添加一个字段

语法结构:alter table 表名 add 字段名 数据类型 after 已存在字段名;

mysql中有哪些表 mysql 表_mysql表列是什么_19

删除字段

语法结构:alter table表名 drop字段名;

mysql中有哪些表 mysql 表_数据类型_20

修改字段的排列位置

语法结构:alter table表名 modify字段名1 数据类型 first|after 字段2;

(1)修改字段为表第一个字段

语法结构:alter table 表名modify 字段名 数据类型 first;

mysql中有哪些表 mysql 表_mysql表列是什么_21

(2)修改字段到指定列之后

语法结构:alter table 表名modify 字段1 数据类型 after字段2;

mysql中有哪些表 mysql 表_数据类型_22

更改表的存储引擎

存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现。用户可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎。MySQL中的主要存储引擎有MyISAM、InnoDB、MEMORY(HEAP)、BDB、FEDERATED等。可以使用SHOW ENGINES语句查看系统支持的存储引擎。语法结构:alter table 表名 engine=更改后的存储引擎名;

语法结构:修改存储引擎前先查看当前存储引擎:

show create table tb_department3\G;

mysql中有哪些表 mysql 表_表名_23

删除表的外键约束

对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表与从表的关系。MySQL中删除外键的语法格式如下:

语法结构:alter table 表名 drop foreign key 外键约束名;

mysql中有哪些表 mysql 表_数据类型_24

四、删除数据库表:【drop table if exists 表名1,表名2,…表名n; 】

删除没有关联的数据表

语法结构:drop table if exists 表名1,表名2,…表名n;

mysql中有哪些表 mysql 表_mysql_25

删除被其他表关联的主表

首先要解除关联表,只要删除表的外键约束即可通过drop table if exists 表名 进行删除。

语法结构:1.alter table 表名 drop foreign key 外键约束名;

2.drop table if exists 表名1,表名2,…表名n;