MySQL数据库创建表详解及示例

需积分: 0 2 下载量 20 浏览量 更新于2024-08-03 收藏 125KB DOCX 举报
"本文主要讲解了如何在MySQL数据库中创建表,包括基本的CREATE TABLE语句语法和示例,以及创建学生-课程数据库的三个表:Student、Course和SC。" 在MySQL数据库中,创建表是构建数据库结构的基础操作。MySQL作为一种关系型数据库管理系统,因其开源、高效、可靠和易用的特性而备受青睐。它支持多用户访问、多线程处理,还具备存储过程和触发器等高级功能,可运行于各种操作系统之上。 创建新表通常使用`CREATE TABLE`语句,其基本格式如下: ```sql CREATE TABLE table_name ( column1 datatype constraints, column2 datatype constraints, ... ); ``` 在这个语句中,`table_name`是你想要创建的表的名称,`column1`、`column2`等代表表中的列名,`datatype`定义列的数据类型,如`INT`、`VARCHAR`、`DECIMAL`等,`constraints`则用于设定列的约束条件,如`NOT NULL`(不允许为空)、`UNIQUE`(唯一性)、`AUTO_INCREMENT`(自动递增)和`PRIMARY KEY`(主键)等。 以下是一个创建名为`employees`的表的例子: ```sql CREATE TABLE employees ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT(3) NOT NULL, salary DECIMAL(10,2) NOT NULL, PRIMARY KEY (id) ); ``` 这个例子中,`employees`表有四列:`id`(整型,非空,自动递增)、`name`(字符串,非空)、`age`(整型,非空)和`salary`(十进制,非空)。主键设定为`id`列。 在构建学生-课程数据库的场景中,我们需要创建三个表:`Student`、`Course`和`SC`。这些表的创建语句如下: 创建`Student`表: ```sql CREATE TABLE Student ( Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ); ``` 这个`Student`表包含学生编号(主键)、姓名(唯一)、性别、年龄和系别。 创建`Course`表: ```sql CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, Cname CHAR(40) NOT NULL, Cpno CHAR, Ccredit INT ); ``` `Course`表包含课程编号(主键)、课程名称(非空)、先修课程编号和学分。 创建`SC`表(学生选课表): ```sql CREATE TABLE SC ( Sno CHAR(9), Cno CHAR(4), Grade INT, PRIMARY KEY (Sno, Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno) ); ``` `SC`表记录学生选课情况,包括学生编号、课程编号和成绩。这里,`Sno`和`Cno`共同构成复合主键,并通过`FOREIGN KEY`约束与`Student`和`Course`表建立了外键关联。 通过这些创建表的示例,我们可以了解到MySQL中如何设计和构建数据库表结构,以及如何利用约束来保证数据的完整性和一致性。这对于开发和管理数据库系统至关重要。