1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
建表
在 SQL 中,创建新表使用 CREATE TABLE 命令。这就好比你在 Excel 里新建一个 Sheet,并且规定好每一列叫什么名字,只能填什么类型的数据。
第一步:认识“原材料” (数据类型)
在造表之前,你必须告诉数据库,每一列将来要存什么样的数据。MySQL 里最常用的三种类型是:
INT:整数。用来存 ID、年龄、数量。(例如:101, 25)
VARCHAR(n):可变长度字符串。用来存名字、邮箱、地址。
n 代表最大长度。比如 VARCHAR(50) 意思是最多存 50 个字符。
DATE:日期。用来存生日、入职时间。(例如:'2023-01-01')
第二步:确立“身份证” (主键 PRIMARY KEY) 🔑
这是建表时最重要的概念!
每一张表最好都有一个主键 (Primary Key)。它是每一行数据的唯一标识符。
就像每个公民都有唯一的身份证号。
规则:主键的值不能重复,也不能为空。
通常我们会把 id 列设为主键。
CREATE TABLE 表名 (
列名1 数据类型,
列名2 数据类型,
...
PRIMARY KEY (主键列名)
);
例1:请你设计一张全新的 students 表,要求包含以下三列:
id:类型是 INT(这是主键!)。
name:类型是 VARCHAR(50)(名字最长 50 个字足够了)。
age:类型是 INT。
请尝试写出完整的 SQL 语句! (提示:注意括号的位置,最后别忘了分号)
CREATE TABLE students ( id INT, name VARCHAR(50), age INT, PRIMARY KEY (id) );
例2:设计 teachers 表
现在请你利用这两个新武器,设计一张更完美的 teachers (教师表)。
要求:
id:类型 INT,不仅是 主键,还要能 自动增长 (AUTO_INCREMENT)。
name:类型 VARCHAR(30),并且 不允许为空 (NOT NULL)。
subject (科目):类型 VARCHAR(20),这个允许为空(可能刚入职还没定教啥)。
列名 数据类型 NOT NULL AUTO_INCREMENT
(注意:AUTO_INCREMENT通常只用于主键)
CREATE TABLE teachers (
id INT AUTO_INCREMENT, -- 1. id 是整数,且自动增长
name VARCHAR(30) NOT NULL, -- 2. name 是字符串,且不能为空
subject VARCHAR(20), -- 3. subject 是字符串,允许为空(默认)
PRIMARY KEY (id) -- 4. 指定 id 为主键
);
删表
DROP TABLE 表名;
例3:假设刚才建立的 students 表设计得不好,我们要把它删掉重来。 请写出删除 students 表的语句。
DROP TABLE students;
|