MySQL数据库创建表详解及示例
需积分: 0 186 浏览量
更新于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中如何设计和构建数据库表结构,以及如何利用约束来保证数据的完整性和一致性。这对于开发和管理数据库系统至关重要。
Mortalz7
- 粉丝: 1371
- 资源: 2
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案