首页 / 数据库原理与应用 / SQL数据定义语言DDL

第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操作不可逆,请谨慎使用!

自学自检小问题

  1. VARCHAR和CHAR有什么区别?什么情况下用CHAR更好?
  2. PRIMARY KEY和UNIQUE约束有什么区别?
  3. 如何给一个已存在的表添加新字段?

拓展学习资源

第3章 基础巩固练习
0/5
第1题 选择题
创建数据库的SQL命令是( )
NEW DATABASE
CREATE DATABASE
ADD DATABASE
INSERT DATABASE
答案解析
正确答案:B(CREATE DATABASE)。SQL中使用CREATE关键字来创建数据库和表。
第2题 选择题
以下数据类型中,适合存储金额的是( )
INT
VARCHAR
DECIMAL(10,2)
DATE
答案解析
正确答案:C(DECIMAL(10,2))。DECIMAL是定点小数,适合精确存储货币金额。
第3题 选择题
删除表的SQL命令是( )
DELETE TABLE
DROP TABLE
REMOVE TABLE
CLEAR TABLE
答案解析
正确答案:B(DROP TABLE)。DROP删除表结构和数据;DELETE只删除数据,保留结构。
第4题 选择题
PRIMARY KEY和UNIQUE的区别是( )
没有区别
PRIMARY KEY可以为NULL,UNIQUE不能
PRIMARY KEY不能为NULL且唯一,UNIQUE可以为NULL
UNIQUE只能有一个
答案解析
正确答案:C。PRIMARY KEY既唯一又非空;UNIQUE只保证唯一,允许NULL值。
第5题 选择题
修改表结构的SQL命令是( )
UPDATE TABLE
ALTER TABLE
MODIFY TABLE
CHANGE TABLE
答案解析
正确答案:B(ALTER TABLE)。ALTER TABLE用于添加、修改、删除字段等结构操作。
0/0