一、数据库与表对象管理
1. 数据库创建与切换
| 操作目的 |
语法示例 |
说明 |
| 创建数据库 |
CREATE DATABASE my_database; |
需确保目标路径为空,避免数据覆盖 |
| 切换数据库 |
USE my_database; |
切换后所有操作默认在当前数据库下执行 |
| 删除数据库 |
DROP DATABASE IF EXISTS my_database; |
加IF EXISTS避免因数据库不存在报错,删除后数据不可恢复 |
2. 数据表核心操作
(1)创建表(含约束与特殊配置)
-- 基础表(含主键、非空约束)
CREATE TABLE employees (
employee_id INT PRIMARY KEY, -- 主键约束(唯一且非空)
first_name VARCHAR(50) NOT NULL, -- 非空约束
last_name VARCHAR(50),
hire_date DATE DEFAULT SYSDATE, -- 默认值(当前日期)
salary DECIMAL(10, 2) CHECK (salary > 0) -- 检查约束(薪资为正)
);
-- 带聚集索引的表(达梦特色,优化查询性能)
CREATE TABLE student (
stuno INT CLUSTER PRIMARY KEY, -- 聚集主键(表数据按该列排序)
stuname VARCHAR(15) NOT NULL,
teano INT,
classid INT
);
-- 临时表(会话/事务结束后数据自动清空)
CREATE GLOBAL TEMPORARY TABLE tmp_emp (
empno INT PRIMARY KEY,
ename VARCHAR(15) NOT NULL,
job VARCHAR(10)
) ON COMMIT DELETE ROWS; -- 事务提交后删除数据
(2)修改表结构
-- 1. 添加列
ALTER TABLE employees ADD department VARCHAR(50);
-- 2. 修改列(数据类型/约束)
ALTER TABLE employees MODIFY salary DECIMAL(12, 2); -- 扩大薪资精度
ALTER TABLE employees MODIFY first_name VARCHAR(60) NOT NULL; -- 调整长度并保留非空约束
-- 3. 删除列
ALTER TABLE employees D


3万+

被折叠的 条评论
为什么被折叠?



