MySQL数据库创建表详解及示例
下载需积分: 0 | DOCX格式 | 125KB |
更新于2024-08-03
| 138 浏览量 | 举报
"本文主要讲解了如何在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
- 粉丝: 1388
最新资源
- 纠正东京2020地图错误的Fix Map-crx插件
- iTunes 12.3.2.35版本发布 支持历史版APP Store管理
- 探索Project-38-main中的JavaScript创新
- 易语言源码解析:高效时间格式化技巧
- 基于AVPlayer的iOS视频音频播放器功能详解
- C#基于DirectX的录音程序开发
- H5客户端图片压缩技术与应用
- HTML技术实践:wlcdt-assignment5项目分析
- 惠灵顿河流水位监测工具 - Wellington Paddler-crx插件
- Rpush插件集成Sentry日志监控功能
- 仿新闻应用顶部滑动的iOS滑动视图框架
- Spring Boot与MySQL数据库连接操作指南
- Netty同步等待数据返回的实现与代码示例
- Node.js概念挑战:Bootcamp GoStack课程解析
- Odoo 13.0企业版安装包下载
- STM32MP157基于FreeRTOS的队列操作实战教程