第3章 SQL数据定义语言DDL
3.1 CREATE DATABASE - 创建数据库
CREATE DATABASE school;
CREATE DATABASE IF NOT EXISTS school;
3.2 USE - 选择数据库
USE school;
3.3 CREATE TABLE - 创建表
创建表时需定义字段名、数据类型和约束。
CREATE TABLE student (
sno CHAR(10) PRIMARY KEY,
sname VARCHAR(20) NOT NULL,
ssex CHAR(2),
sage INT,
sdept VARCHAR(20)
);
3.4 常用数据类型
- INT:整数类型
- DECIMAL(M,N):定点小数,如DECIMAL(10,2)表示共10位,小数2位
- VARCHAR(N):变长字符串,按实际长度存储
- CHAR(N):定长字符串,不足补空格
- DATE:日期(格式YYYY-MM-DD)
- DATETIME:日期时间(格式YYYY-MM-DD HH:MM:SS)
- TEXT:长文本
- BLOB:二进制大对象
3.5 约束
- PRIMARY KEY:主键约束,唯一且非空
- NOT NULL:非空约束
- UNIQUE:唯一约束,值不能重复(可以为NULL)
- DEFAULT:默认值约束
- FOREIGN KEY ... REFERENCES ...:外键约束
- CHECK:检查约束(MySQL 8.0+支持)
3.6 ALTER TABLE - 修改表结构
-- 添加新字段
ALTER TABLE student ADD COLUMN email VARCHAR(50);
-- 修改字段类型
ALTER TABLE student MODIFY COLUMN sname VARCHAR(30);
-- 删除字段
ALTER TABLE student DROP COLUMN email;
3.7 DROP - 删除表或数据库
-- 删除表(数据和结构都删除)
DROP TABLE student;
-- 删除数据库
DROP DATABASE school;
注意:DROP操作不可逆,请谨慎使用!
自学自检小问题
- VARCHAR和CHAR有什么区别?什么情况下用CHAR更好?
- PRIMARY KEY和UNIQUE约束有什么区别?
- 如何给一个已存在的表添加新字段?
拓展学习资源
- 菜鸟教程:MySQL创建数据库与表
- 实训数据集:学生管理系统(student、course、sc三张表结构)
第3章 基础巩固练习
0/5
第1题
选择题
创建数据库的SQL命令是( )
答案解析
正确答案:B(CREATE DATABASE)。SQL中使用CREATE关键字来创建数据库和表。
第2题
选择题
以下数据类型中,适合存储金额的是( )
答案解析
正确答案:C(DECIMAL(10,2))。DECIMAL是定点小数,适合精确存储货币金额。
第3题
选择题
删除表的SQL命令是( )
答案解析
正确答案:B(DROP TABLE)。DROP删除表结构和数据;DELETE只删除数据,保留结构。
第4题
选择题
PRIMARY KEY和UNIQUE的区别是( )
答案解析
正确答案:C。PRIMARY KEY既唯一又非空;UNIQUE只保证唯一,允许NULL值。
第5题
选择题
修改表结构的SQL命令是( )
答案解析
正确答案:B(ALTER TABLE)。ALTER TABLE用于添加、修改、删除字段等结构操作。
0/0