第2课_数据库与数据表的创建
热度🔥:43 免费课程
授课语音
数据库和数据表的创建与管理
数据库是存储和管理数据的核心组件。在MySQL中,数据库是用于存放数据表、视图、存储过程等对象的容器,而数据表则是存储具体数据的结构化形式。本节课将介绍如何创建和管理数据库及数据表。
1. 数据库的创建与管理
1.1 创建数据库
在MySQL中,创建数据库的语法如下:
CREATE DATABASE 数据库名称;
示例:创建一个名为 shop
的数据库
CREATE DATABASE shop;
执行该命令后,MySQL会创建一个新的数据库 shop
,用于存放相关的数据表。
1.2 查看已创建的数据库
可以使用 SHOW DATABASES
命令查看当前MySQL服务器中所有的数据库:
SHOW DATABASES;
1.3 选择数据库
在进行表的操作时,首先需要选择要操作的数据库。使用 USE
命令来选择数据库:
USE shop;
1.4 删除数据库
如果需要删除某个数据库,可以使用 DROP DATABASE
命令:
DROP DATABASE shop;
此命令会删除 shop
数据库及其包含的所有数据表和数据。
2. 数据表的创建与管理
2.1 创建数据表
数据表是MySQL中存储数据的基本单位。在创建数据表时,需要定义表的结构(即字段名称、数据类型、约束条件等)。创建表的语法如下:
CREATE TABLE 表名称 (
字段1 数据类型 约束,
字段2 数据类型 约束,
...
);
示例:创建一个 products
表用于存储商品信息
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY, -- 商品ID,自增主键
name VARCHAR(100) NOT NULL, -- 商品名称,不能为空
price DECIMAL(10, 2) NOT NULL, -- 商品价格,最多10位数字,保留2位小数
description TEXT, -- 商品描述,文本类型
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 创建时间,默认当前时间
);
代码解释:
id INT AUTO_INCREMENT PRIMARY KEY
:定义一个名为id
的字段,数据类型为INT
,并且设置为自增主键。name VARCHAR(100) NOT NULL
:定义一个name
字段,数据类型为VARCHAR(100)
,长度为100个字符,且不能为空。price DECIMAL(10, 2) NOT NULL
:定义一个price
字段,数据类型为DECIMAL(10, 2)
,表示最大10位数字,其中小数点后有2位。description TEXT
:定义一个description
字段,数据类型为TEXT
,适用于存储较长的字符串。created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
:定义一个created_at
字段,数据类型为TIMESTAMP
,默认值为当前时间。
2.2 查看数据表
创建数据表后,可以使用 SHOW TABLES
命令查看当前数据库中的所有表:
SHOW TABLES;
2.3 查看数据表结构
要查看数据表的结构(字段类型、索引等),可以使用 DESCRIBE
或 SHOW COLUMNS
命令:
DESCRIBE products;
2.4 修改数据表结构
2.4.1 添加字段
如果需要向已有的表中添加一个字段,可以使用 ALTER TABLE
命令:
ALTER TABLE products ADD COLUMN stock INT DEFAULT 0; -- 添加库存字段
2.4.2 删除字段
要删除某个字段,可以使用 ALTER TABLE
命令与 DROP COLUMN
:
ALTER TABLE products DROP COLUMN description; -- 删除描述字段
2.4.3 修改字段类型
如果需要修改字段的数据类型,可以使用 MODIFY
关键字:
ALTER TABLE products MODIFY COLUMN price DECIMAL(12, 2); -- 修改价格字段类型
2.5 删除数据表
如果不再需要某个数据表,可以使用 DROP TABLE
命令删除它:
DROP TABLE products;
此命令会删除 products
表及其所有数据。
3. 管理数据表的约束
3.1 主键约束
主键是表中唯一标识每一行数据的字段,主键字段不能重复且不能为空。在创建表时,可以通过 PRIMARY KEY
来定义主键。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY, -- 定义主键
username VARCHAR(50) NOT NULL, -- 用户名
password VARCHAR(100) NOT NULL -- 密码
);
3.2 外键约束
外键约束用于保证表与表之间的数据一致性。当表中的某一字段引用另一个表的主键时,就可以通过外键来建立关联。
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY, -- 订单ID
user_id INT, -- 用户ID
total_price DECIMAL(10, 2) NOT NULL, -- 总价
FOREIGN KEY (user_id) REFERENCES users(id) -- 外键约束,引用users表的id
);
3.3 唯一约束
唯一约束用于确保某字段的值在表中是唯一的,可以通过 UNIQUE
关键字来定义。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(100) UNIQUE, -- 唯一约束,确保每个用户的邮箱地址唯一
username VARCHAR(50) NOT NULL
);
3.4 非空约束
非空约束用于确保某字段不能为空,可以通过 NOT NULL
关键字来定义。
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL, -- 商品名称不能为空
price DECIMAL(10, 2) NOT NULL -- 商品价格不能为空
);
4. 总结
- 创建数据库:使用
CREATE DATABASE
命令可以创建数据库,SHOW DATABASES
查看所有数据库,USE
选择数据库。 - 创建数据表:使用
CREATE TABLE
命令定义数据表的结构,指定字段的数据类型和约束。 - 管理数据表:可以通过
ALTER TABLE
添加、修改、删除字段,使用DROP TABLE
删除数据表。 - 约束管理:通过
PRIMARY KEY
、FOREIGN KEY
、UNIQUE
和NOT NULL
来确保数据的完整性和一致性。
掌握这些基本的数据库和数据表的创建与管理操作,可以帮助你高效地设计和维护数据库结构,确保数据的高可用性和可靠性。