MySQL教程(八)—— 数据表创建与操作

时间:2022-02-06 21:20:56

数据表是数据库的最重要的组成部分之一,是其他对象的基础。

1  创建及打开数据库

若要设计数据表,首先要用USE命令打开数据库。

1 CREATE DATABASE db_name;
2 USE db_name

例如:MySQL教程(八)—— 数据表创建与操作

2  创建数据表

1 CREATE TABLE [IF NOT EXISTS] table_name(
2 column_name data_type,
3 ···
4 );

例如:MySQL教程(八)—— 数据表创建与操作

3  查看数据表

1 SHOW TABLES [FROM db_name] [LIKE 'pattern'|WHERE expr];

例如:MySQL教程(八)—— 数据表创建与操作

4  查看数据表结构

1 SHOW COLUMNS FROM tb1_name;

例如:MySQL教程(八)—— 数据表创建与操作

5  记录(数据)的插入与查找

5.1  插入记录

1 INSERT [INTO] tb1_name[(col_name,···)] VALUES(val, ···);//col_name为列名,val为数值
2 //若省略列名,则所有的字段都要赋值//如下第二条错误

MySQL教程(八)—— 数据表创建与操作

5.2  记录查找

1 SELECT expr,···FROM tb1_name;

MySQL教程(八)—— 数据表创建与操作'*'为字段的过滤

6  空值与非空(NOT NULL)

NULL:字段值可以为空

NOT NULL:字段值禁止为空

下面创建一个新表,详解:

MySQL教程(八)—— 数据表创建与操作

MySQL教程(八)—— 数据表创建与操作

MySQL教程(八)—— 数据表创建与操作(第二个数值可以为NULL)

MySQL教程(八)—— 数据表创建与操作

MySQL教程(八)—— 数据表创建与操作(第一个数值不可以为NULL,提示错误)

7  自动编号

为保证记录的唯一性,需要添加“AUTO_INCREMENT”属性。

  • 自动编号,且必须与主键组合使用(但主键不一定要和“AUTO_INCREMENT”属性组合使用)。
  • 默认情况下,起始值为1,每次的增量为1。

MySQL教程(八)—— 数据表创建与操作(错误,必须与主键结合使用)

8  主键约束(PRIMARY KEY)

  • 主键约束
  • 每张数据表只能存在一个主键
  • 主键保证记录的唯一性
  • 主键自动为NOT NULL
  • 主键可以赋值,但要保证唯一

MySQL教程(八)—— 数据表创建与操作(与上述代码相比,添加了主键,错误取消)

MySQL教程(八)—— 数据表创建与操作

下面只写入“username”的值,看“id”的值是否自动增加:

MySQL教程(八)—— 数据表创建与操作

MySQL教程(八)—— 数据表创建与操作(id自动增加)

9  唯一约束(UNIQUE KEY)

  • 唯一约束
  • 唯一约束可以保证记录的唯一性
  • 唯一约束的字段可以为空值(NULL)
  • 每张数据表可以存在多个唯一约束

下面创建一个同时有主键约束和唯一约束的数据表:

MySQL教程(八)—— 数据表创建与操作

MySQL教程(八)—— 数据表创建与操作

MySQL教程(八)—— 数据表创建与操作(第二次重复数据写入,出现错误提示)

10  默认约束(DEFAULT)

  • 默认值
  • 当插入数据时,如果没有明确为字段赋值,则自动赋予默认值

MySQL教程(八)—— 数据表创建与操作

MySQL教程(八)—— 数据表创建与操作

MySQL教程(八)—— 数据表创建与操作(插入一条数据)

MySQL教程(八)—— 数据表创建与操作(没有给sex赋值,但是默认将3赋给了sex)