1. 数据定义语言(DDL)
CREATE DATABASE database_name;
1.2 删除数据库
DROP DATABASE database_name;
1.3 创建表
CREATE TABLE table_name ( column1 datatype [constraints], column2 datatype [constraints], ... [table_constraints]);
datatype
:数据类型,如INT
、VARCHAR
、DATE
等。
constraints
:约束条件,如PRIMARY KEY
、NOT NULL
、UNIQUE
等。
1.4 删除表
DROP TABLE table_name;
1.5 修改表结构
ALTER TABLE table_nameADD column_name datatype [constraints];
ALTER TABLE table_nameDROP COLUMN column_name;
ALTER TABLE table_nameMODIFY COLUMN column_name datatype [constraints];
1.6 创建索引
CREATE INDEX index_nameON 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_nameSET column1 = value1, column2 = value2, ...WHERE condition;
2.3 删除数据
DELETE FROM table_nameWHERE condition;
2.4 查询数据
SELECT column1, column2, ...FROM table_nameWHERE conditionORDER BY column1 [ASC|DESC];
3. 数据控制语言(DCL)
3.1 授权
GRANT privilege_nameON object_nameTO user_name;
3.2 撤销权限
REVOKE privilege_nameON object_nameFROM user_name;
4. 事务控制语言(TCL)
4.1 开始事务
BEGIN TRANSACTION;
4.2 提交事务
COMMIT;
4.3 回滚事务
ROLLBACK;
5. 达梦数据库特有的SQL语法
5.1 序列(SEQUENCE)
CREATE SEQUENCE sequence_nameSTART WITH start_valueINCREMENT BY increment_valueMAXVALUE max_valueMINVALUE min_valueCYCLE|NOCYCLE;
NEXT VALUE FOR sequence_name;
5.2 同义词(SYNONYM)
CREATE SYNONYM synonym_nameFOR 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_nameASBEGIN -- SQL statementsEND;
EXEC procedure_name;
5.5 触发器
CREATE TRIGGER trigger_nameBEFORE|AFTER INSERT|UPDATE|DELETEON table_nameFOR EACH ROWBEGIN -- SQL statementsEND;
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 table1UNIONSELECT column1, column2, ...FROM table2;
7.2 子查询
SELECT column1, column2, ...FROM table_nameWHERE column1 IN (SELECT column1 FROM another_table);
7.3 连接查询
SELECT column1, column2, ...FROM table1INNER JOIN table2ON table1.column = table2.column;
SELECT column1, column2, ...FROM table1LEFT JOIN table2ON table1.column = table2.column;
SELECT column1, column2, ...FROM table1RIGHT JOIN table2ON table1.column = table2.column;
8. 达梦数据库的系统表和视图
DBA_TABLES
:所有表的信息。
DBA_USERS
:所有用户的信息。
DBA_INDEXES
:所有索引的信息。
DBA_SEQUENCES
:所有序列的信息。
9. 达梦数据库的备份与恢复
9.1 备份数据库
BACKUP DATABASE database_nameTO \'backup_file_path\';
9.2 恢复数据库
RESTORE DATABASE database_nameFROM \'backup_file_path\';
10. 达梦数据库的性能优化
10.1 使用索引
CREATE INDEX index_nameON table_name (column1, column2, ...);
10.2 分析表
ANALYZE TABLE table_name COMPUTE STATISTICS;
10.3 优化查询
- 避免使用
SELECT *
,只选择需要的列。
- 使用
EXPLAIN
分析查询计划。
EXPLAIN SELECT column1, column2, ...FROM table_nameWHERE condition;
11. 达梦数据库的安全管理
11.1 创建用户
CREATE USER user_name IDENTIFIED BY password;
11.2 修改用户密码
ALTER USER user_name IDENTIFIED BY new_password;
11.3 删除用户
DROP USER user_name;
11.4 角色管理
CREATE ROLE role_name;
GRANT role_name TO user_name;
REVOKE role_name FROM user_name;
12. 达梦数据库的日志管理
12.1 查看日志
SELECT * FROM V$LOG;
12.2 清空日志
ALTER SYSTEM SWITCH LOGFILE;
13. 达梦数据库的并发控制
13.1 锁机制
13.2 事务隔离级别
READ UNCOMMITTED
READ COMMITTED
REPEATABLE READ
SERIALIZABLE
14. 达梦数据库的存储管理
14.1 表空间管理
CREATE TABLESPACE tablespace_nameDATAFILE \'datafile_path\' SIZE size;
ALTER TABLESPACE tablespace_nameADD DATAFILE \'datafile_path\' SIZE size;
DROP TABLESPACE tablespace_name;
14.2 数据文件管理
ALTER DATABASEADD DATAFILE \'datafile_path\' SIZE size;
ALTER DATABASERESIZE DATAFILE \'datafile_path\' TO size;
15. 达梦数据库的与同步
15.1 数据
CREATE REPLICATION replication_nameAS SELECT column1, column2, ...FROM table_nameWHERE condition;
15.2 数据同步
ALTER REPLICATION replication_nameSYNCHRONIZE;
16. 达梦数据库的监控与诊断
16.1 监控会话
SELECT * FROM V$SESSION;
16.2 监控性能
SELECT * FROM V$SYSTEM_EVENT;
16.3 诊断问题
SELECT * FROM V$DIAG_INFO;
17. 达梦数据库的扩展功能
17.1 全文检索
CREATE FULLTEXT INDEX index_nameON table_name (column1, column2, ...);
17.2 数据加密
CREATE TABLE table_name ( column1 datatype ENCRYPTED, column2 datatype, ...);
17.3 数据压缩
CREATE TABLE table_name ( column1 datatype COMPRESSED, column2 datatype, ...);
18. 达梦数据库的迁移与升级
18.1 数据迁移
EXPORT TABLE table_nameTO \'export_file_path\';
IMPORT TABLE table_nameFROM \'import_file_path\';
18.2 数据库升级
ALTER DATABASE UPGRADE;
19. 达梦数据库的常见问题与解决方案
19.1 连接问题
19.2 性能问题
19.3 数据一致性问题
20. 达梦数据库的参考资料
- 达梦数据库官方文档
- SQL标准文档
- 数据库设计与优化书籍