欢迎光临白事网
详情描述

CREATE TABLEDROP TABLE 语句实现。以下是详细说明和示例:

一、创建表(增)

1. 基本语法

CREATE TABLE 表名 (
    列名1 数据类型 [约束条件],
    列名2 数据类型 [约束条件],
    ...
    [表级约束条件]
);

2. 常用示例

-- 创建学生表
CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT,
    email VARCHAR(100) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 创建带外键的表
CREATE TABLE orders (
    order_id INT PRIMARY KEY AUTO_INCREMENT,
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

3. 创建表时添加约束

CREATE TABLE employees (
    emp_id INT PRIMARY KEY,
    emp_name VARCHAR(50) NOT NULL,
    dept_id INT,
    salary DECIMAL(10,2) CHECK (salary > 0),
    hire_date DATE DEFAULT (CURDATE()),
    -- 表级约束
    CONSTRAINT fk_dept FOREIGN KEY (dept_id) REFERENCES departments(dept_id)
);

4. 基于现有表创建新表

-- 复制表结构(不复制数据)
CREATE TABLE new_students LIKE students;

-- 复制表结构和数据
CREATE TABLE students_backup AS SELECT * FROM students;

-- 复制部分数据
CREATE TABLE students_over20 AS 
SELECT * FROM students WHERE age > 20;

二、删除表(删)

1. 基本语法

DROP TABLE 表名;

2. 安全删除

-- 普通删除
DROP TABLE students;

-- 安全删除(如果表存在才删除)
DROP TABLE IF EXISTS students;

-- 删除多个表
DROP TABLE table1, table2, table3;

-- 级联删除(删除表及其依赖对象)
DROP TABLE orders CASCADE;  -- PostgreSQL

3. 清空表数据(保留表结构)

-- 删除所有数据(不可回滚)
TRUNCATE TABLE students;

-- 删除所有数据(可回滚)
DELETE FROM students;

三、高级操作

1. 临时表

-- 创建临时表(会话结束时自动删除)
CREATE TEMPORARY TABLE temp_data (
    id INT,
    value VARCHAR(100)
);

-- 临时表插入数据
INSERT INTO temp_data VALUES (1, 'test');

2. 全局临时表(SQL Server)

CREATE TABLE ##GlobalTemp (
    id INT,
    data VARCHAR(50)
);

3. 分区表(MySQL)

CREATE TABLE sales (
    sale_id INT,
    sale_date DATE,
    amount DECIMAL(10,2)
)
PARTITION BY RANGE (YEAR(sale_date)) (
    PARTITION p2020 VALUES LESS THAN (2021),
    PARTITION p2021 VALUES LESS THAN (2022),
    PARTITION p2022 VALUES LESS THAN (2023)
);

四、注意事项

⚠️ 删除表的注意事项:

数据丢失DROP TABLE 会永久删除表结构和所有数据 权限要求:需要相应权限 依赖关系:有外键引用时需要先删除或使用 CASCADE 备份:重要数据应先备份

✅ 最佳实践:

-- 1. 删除前先检查
SHOW TABLES LIKE 'students';

-- 2. 使用IF EXISTS避免错误
DROP TABLE IF EXISTS old_students;

-- 3. 重要操作前备份
CREATE TABLE students_backup AS SELECT * FROM students;

-- 4. 在生产环境使用事务(如果支持)
BEGIN TRANSACTION;
DROP TABLE IF EXISTS temp_table;
COMMIT;

5. 不同数据库的差异

-- MySQL
CREATE TABLE IF NOT EXISTS table_name ...
DROP TABLE IF EXISTS table_name;

-- SQL Server
IF OBJECT_ID('table_name', 'U') IS NOT NULL
    DROP TABLE table_name;

-- Oracle
DROP TABLE table_name PURGE;  -- 立即释放空间

五、完整示例

-- 创建数据库
CREATE DATABASE school_db;
USE school_db;

-- 创建院系表
CREATE TABLE departments (
    dept_id INT PRIMARY KEY AUTO_INCREMENT,
    dept_name VARCHAR(50) NOT NULL UNIQUE
);

-- 创建学生表
CREATE TABLE students (
    student_id INT PRIMARY KEY AUTO_INCREMENT,
    student_name VARCHAR(50) NOT NULL,
    age INT CHECK (age >= 0),
    dept_id INT,
    admission_date DATE DEFAULT (CURRENT_DATE),
    FOREIGN KEY (dept_id) REFERENCES departments(dept_id)
);

-- 创建备份表
CREATE TABLE students_archive LIKE students;

-- 删除表(如果有)
DROP TABLE IF EXISTS old_students;

-- 清空测试数据
TRUNCATE TABLE test_data;

记住:删除操作不可逆,执行前务必确认和备份!

相关帖子
不同电商或生活服务平台发放的电子消费券,在使用规则上有何异同?
不同电商或生活服务平台发放的电子消费券,在使用规则上有何异同?
创建家庭农场或合作社,在土地流转与政策对接方面需要注意什么?
创建家庭农场或合作社,在土地流转与政策对接方面需要注意什么?
未来“数字黄金”概念的出现,会对实物黄金需求有影响吗?
未来“数字黄金”概念的出现,会对实物黄金需求有影响吗?
申请育儿补贴需要准备哪些材料及具体流程详解
申请育儿补贴需要准备哪些材料及具体流程详解
宿州市白事丧事一条龙服务|殡葬追悼会服务,1小时随叫随到
宿州市白事丧事一条龙服务|殡葬追悼会服务,1小时随叫随到
HTML5中使用Noto Sans CJK字体的详细步骤
HTML5中使用Noto Sans CJK字体的详细步骤
那些逐渐淡出人们视野的节庆习俗,承载着怎样的集体记忆与情感?
那些逐渐淡出人们视野的节庆习俗,承载着怎样的集体记忆与情感?
天津市丧事一站式服务|白事入殓服务,为家属解决后顾之忧
天津市丧事一站式服务|白事入殓服务,为家属解决后顾之忧
夏季高温或冬季严寒等极端天气,对宠物托运计划会产生哪些具体影响?
夏季高温或冬季严寒等极端天气,对宠物托运计划会产生哪些具体影响?
外嫁女与兄弟在宅基地继承上发生纠纷,法律通常会如何裁决?
外嫁女与兄弟在宅基地继承上发生纠纷,法律通常会如何裁决?
北京市丧葬服务公司|殡葬悼念会布置,收费透明,1小时上门
北京市丧葬服务公司|殡葬悼念会布置,收费透明,1小时上门
绥化市苹果app开发#网站设计正规公司,收费标准
绥化市苹果app开发#网站设计正规公司,收费标准
秦皇岛市精准获客引流&java开源商城二次开发,定制开发
秦皇岛市精准获客引流&java开源商城二次开发,定制开发
从进化的角度看,为什么人类久坐会带来这么多健康问题与不适?
从进化的角度看,为什么人类久坐会带来这么多健康问题与不适?
比较消费券与现金补贴,哪种方式更能有效刺激社会总体消费需求?
比较消费券与现金补贴,哪种方式更能有效刺激社会总体消费需求?
宣城市殡葬一条龙公司-丧葬一站式服务,丧葬灵棚策划
宣城市殡葬一条龙公司-丧葬一站式服务,丧葬灵棚策划
在缴费阶段,个人养老金账户如何帮助我们合理减少当年的个人所得税负担?
在缴费阶段,个人养老金账户如何帮助我们合理减少当年的个人所得税负担?
如果生物识别模板数据泄露,会比密码泄露更严重吗?2026年我们该如何防范?
如果生物识别模板数据泄露,会比密码泄露更严重吗?2026年我们该如何防范?
在气候变化背景下,未来“超级台风”或“极端暴雨”的破坏力会更强吗?
在气候变化背景下,未来“超级台风”或“极端暴雨”的破坏力会更强吗?
从经济学视角看,家庭内部的无偿照护工作创造了哪些难以估量的社会价值?
从经济学视角看,家庭内部的无偿照护工作创造了哪些难以估量的社会价值?