MySQL数据库创建表详解及示例
需积分: 0 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中如何设计和构建数据库表结构,以及如何利用约束来保证数据的完整性和一致性。这对于开发和管理数据库系统至关重要。
2013-04-10 上传
2022-06-05 上传
126 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-03-16 上传
Mortalz7
- 粉丝: 1339
- 资源: 2
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景