授课语音

数据库和数据表的创建与管理

数据库是存储和管理数据的核心组件。在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 查看数据表结构

要查看数据表的结构(字段类型、索引等),可以使用 DESCRIBESHOW 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 KEYFOREIGN KEYUNIQUENOT NULL 来确保数据的完整性和一致性。

掌握这些基本的数据库和数据表的创建与管理操作,可以帮助你高效地设计和维护数据库结构,确保数据的高可用性和可靠性。

去1:1私密咨询

系列课程: