ALTER TABLE table_name
ADD column_name datatype [constraints];
ALTER TABLE table_name
DROP COLUMN column_name;
ALTER TABLE table_name
MODIFY COLUMN column_name datatype [constraints];
1.6 创建索引
CREATE INDEX index_name
ON table_name (column1, column2, ...);
1.7 删除索引
DROP INDEX index_name;
2. 数据操作语言(DML)
2.1 插入数据
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
2.2 更新数据
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
2.3 删除数据
DELETE FROM table_name
WHERE condition;
2.4 查询数据
SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column1 [ASC|DESC];
3. 数据控制语言(DCL)
3.1 授权
GRANT privilege_name
ON object_name
TO user_name;
3.2 撤销权限
REVOKE privilege_name
ON object_name
FROM user_name;
4. 事务控制语言(TCL)
4.1 开始事务
BEGIN TRANSACTION;
4.2 提交事务
COMMIT;
4.3 回滚事务
ROLLBACK;
5. 达梦数据库特有的SQL语法
5.1 序列(SEQUENCE)
CREATE SEQUENCE sequence_name
START WITH start_value
INCREMENT BY increment_value
MAXVALUE max_value
MINVALUE min_value
CYCLE|NOCYCLE;
NEXT VALUE FOR sequence_name;
5.2 同义词(SYNONYM)
CREATE SYNONYM synonym_name
FOR object_name;
DROP SYNONYM synonym_name;
5.3 分区表
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
)
PARTITION BY RANGE (column1) (
PARTITION p1 VALUES LESS THAN (value1),
PARTITION p2 VALUES LESS THAN (value2),
...
);
5.4 存储过程
CREATE PROCEDURE procedure_name
AS
BEGIN
-- SQL statements
END;
EXEC procedure_name;
5.5 触发器
CREATE TRIGGER trigger_name
BEFORE|AFTER INSERT|UPDATE|DELETE
ON table_name
FOR EACH ROW
BEGIN
-- SQL statements
END;
6. 常用函数
6.1 字符串函数
CONCAT(str1, str2, ...):连接字符串。
SUBSTR(str, start, length):截取字符串。
LENGTH(str):返回字符串长度。
6.2 数值函数
ABS(number):返回绝对值。
ROUND(number, decimals):四舍五入。
MOD(number, divisor):返回余数。
6.3 日期函数
SYSDATE:返回当前日期和时间。
ADD_MONTHS(date, months):添加月份。
MONTHS_BETWEEN(date1, date2):返回两个日期之间的月数。
6.4 聚合函数
COUNT(expression):返回行数。
SUM(expression):返回总和。
AVG(expression):返回平均值。
MAX(expression):返回最大值。
MIN(expression):返回最小值。
7. 其他常用SQL语句
7.1 联合查询
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;
7.2 子查询
SELECT column1, column2, ...
FROM table_name
WHERE column1 IN (SELECT column1 FROM another_table);
7.3 连接查询
内连接
SELECT column1, column2, ...
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
左连接
SELECT column1, column2, ...
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
右连接
SELECT column1, column2, ...
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;
8. 达梦数据库的系统表和视图
DBA_TABLES:所有表的信息。
DBA_USERS:所有用户的信息。
DBA_INDEXES:所有索引的信息。
DBA_SEQUENCES:所有序列的信息。
9. 达梦数据库的备份与恢复
9.1 备份数据库
BACKUP DATABASE database_name
TO 'backup_file_path';
9.2 恢复数据库
RESTORE DATABASE database_name
FROM 'backup_file_path';
10. 达梦数据库的性能优化
10.1 使用索引
CREATE INDEX index_name
ON table_name (column1, column2, ...);
10.2 分析表
ANALYZE TABLE table_name COMPUTE STATISTICS;
10.3 优化查询
避免使用SELECT *,只选择需要的列。
使用EXPLAIN分析查询计划。
EXPLAIN SELECT column1, column2, ...
FROM table_name
WHERE condition;