### 达梦数据库常用SQL语句语法
#### 一、新建表
在达梦数据库中创建新表时,可以通过以下语法实现:
```sql
CREATE TABLE [表名] (
[自动编号字段] INT IDENTITY(1,1) PRIMARY KEY,
[字段1] NVARCHAR(50) DEFAULT '默认值' NULL,
[字段2] NTEXT NULL,
[字段3] DATETIME,
[字段4] MONEY NULL,
[字段5] INT DEFAULT 0,
[字段6] DECIMAL(12,4) DEFAULT 0,
[字段7] IMAGE NULL
);
```
- **`CREATE TABLE`** 语句用于创建新表。
- **`INT IDENTITY(1,1)`** 表示该字段为自动增长的整型字段,初始值为1,每次增长1。
- **`NVARCHAR(50)`** 定义了长度为50个字符的可变长字符串类型。
- **`NTEXT`** 用于存储大量的文本数据。
- **`DATETIME`** 用于存储日期时间数据。
- **`MONEY`** 存储货币值。
- **`DECIMAL(12,4)`** 定义了一个精度为12位,小数位数为4位的十进制数。
- **`IMAGE`** 用于存储图像数据。
#### 二、删除表
若要删除一张表,可以使用如下命令:
```sql
DROP TABLE [表名];
```
- **`DROP TABLE`** 命令用于删除整个表及其所有数据。
#### 三、插入数据
向表中插入数据,可以使用如下命令:
```sql
INSERT INTO [表名] (字段1, 字段2) VALUES (100, '51windows.NET');
```
- **`INSERT INTO`** 语句用于将数据插入到指定表中。
#### 四、删除数据
从表中删除满足条件的数据,可以使用如下命令:
```sql
DELETE FROM [表名] WHERE [字段名] > 100;
```
- **`DELETE FROM`** 语句用于从表中删除数据。
- **`WHERE`** 子句用于指定删除哪些行。
#### 五、更新数据
更新表中的数据,可以使用如下命令:
```sql
UPDATE [表名] SET [字段1] = 200, [字段2] = '51windows.NET' WHERE [字段三] = 'HAIWA';
```
- **`UPDATE`** 语句用于修改表中的数据。
- **`SET`** 子句用于设置新的字段值。
- **`WHERE`** 子句用于指定更新哪些行。
#### 六、新增字段
向表中添加新字段,可以使用如下命令:
```sql
ALTER TABLE [表名] ADD [字段名] NVARCHAR(50) NULL;
```
- **`ALTER TABLE`** 语句用于修改表的结构。
#### 七、删除字段
从表中删除一个字段,可以使用如下命令:
```sql
ALTER TABLE [表名] DROP COLUMN [字段名];
```
- **`DROP COLUMN`** 用于删除表中的某一列。
#### 八、修改字段
更改表中的字段类型或名称,可以使用如下命令:
```sql
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR(50) NULL;
```
- **`ALTER COLUMN`** 用于修改表中现有列的定义。
#### 九、重命名表
重命名表可以使用如下命令:
```sql
EXEC sp_rename '表名', '新表名', 'OBJECT';
```
- **`sp_rename`** 是存储过程,用于重命名对象。
#### 十、新建约束
向表中添加约束,可以使用如下命令:
```sql
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1');
```
- **`CONSTRAINT`** 用于定义约束。
- **`CHECK`** 用于定义检查约束。
#### 十一、删除约束
从表中删除约束,可以使用如下命令:
```sql
ALTER TABLE [表名] DROP CONSTRAINT 约束名;
```
- **`DROP CONSTRAINT`** 用于删除表上的约束。
#### 十二、新建默认值
向表中添加默认值约束,可以使用如下命令:
```sql
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51windows.NET' FOR [字段名];
```
- **`DEFAULT`** 用于定义字段的默认值。
#### 十三、删除默认值
从表中删除默认值约束,可以使用如下命令:
```sql
ALTER TABLE [表名] DROP CONSTRAINT 默认值名;
```
- **`DROP CONSTRAINT`** 用于删除表上的约束。
#### 十四、减小数据库文件大小
减小数据库文件大小的方法包括:
```sql
-- 卸载事务日志
DUMP TRANSACTION 数据库名 WITH NO_LOG;
-- 备份事务日志
BACKUP LOG 数据库名 WITH NO_LOG;
-- 缩小数据库
DBCC SHRINKDATABASE(数据库名);
-- 启用自动缩小
EXEC sp_dboption '数据库名', 'autoshrink', 'true';
```
- **`DUMP TRANSACTION`** 用于卸载当前数据库的日志。
- **`BACKUP LOG`** 用于备份事务日志。
- **`DBCC SHRINKDATABASE`** 用于缩小数据库文件大小。
- **`sp_dboption`** 是一个系统存储过程,用于控制数据库选项。
#### 十五、通用函数
提供了一些通用函数来方便地执行一些常见操作,例如添加字段、修改字段等:
```vb
Sub AddColumn(TableName As String, ColumnName As String, ColumnType As String)
Conn.Execute "ALTER TABLE " & TableName & " ADD " & ColumnName & " " & ColumnType & ""
End Sub
Sub ModColumn(TableName As String, ColumnName As String, ColumnType As String)
Conn.Execute "ALTER TABLE " & TableName & " ALTER COLUMN " & ColumnName & " " & ColumnType & ""
End Sub
```
- **`AddColumn`** 函数用于向表中添加字段。
- **`ModColumn`** 函数用于修改表中的字段。
#### 十六、检查表是否存在
检查表是否存在,可以使用如下命令:
```sql
SELECT COUNT(*) AS dida FROM sysobjects WHERE id = OBJECT_ID(N'[所有者].[表名]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1;
```
- **`sysobjects`** 表存储了数据库中的所有对象信息。
- **`OBJECT_ID`** 返回对象的ID。
- **`OBJECTPROPERTY`** 返回对象属性。
#### 十七、判断表的存在
判断表是否存在,可以使用如下命令:
```sql
SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[tablename]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1;
```
- 如果查询结果为空,则表示表不存在;反之,则存在。
#### 十八、查看表结构
查看表结构,可以使用如下命令:
```sql
SELECT * FROM syscolumns WHERE id = OBJECT_ID(N'[dbo].[你的表名]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1;
```
- **`syscolumns`** 表存储了数据库中所有表的列信息。
- 使用上述命令可以查看表的具体结构,包括字段名和字段类型等。
通过以上详细介绍,我们了解了达梦数据库中一些常用的SQL语句语法,这些命令对于管理和维护数据库非常有用。希望这些内容能够帮助您更好地理解和使用达梦数据库。
2025-07-29 16:11:38
125KB
国产数据库
1