### 达梦数据库常用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
易飞常用SQL
2025-05-29 14:49:38 2KB 易飞常用SQL
1
易飞9.0常用SQL.sql
2025-05-29 14:48:25 2KB 鼎捷易飞
1
### 用友维护人员常用SQL脚本解析与应用 #### 一、查询用友版本号 ```sql use ufsystem go select * from UA_Version go ``` **知识点解析:** - **ufsystem** 数据库是用友系统的管理数据库,存储了关于用友系统的基本配置信息。 - **UA_Version** 表存储了用友系统的版本信息,包括安装的版本号等。 - 通过此脚本可以快速检查用友系统的具体版本,这对于确保使用的补丁和升级包与当前系统版本兼容至关重要。 #### 二、查看系统用户信息 ```sql use ufsystem select cUser_Id as 操作员编码, cUser_Name as 操作员名称, nState as 是否停用, iAdmin as 是否帐套主管理, cDept as 所属部门, cBelongGrp as 所在组, nState as 是否停用 from UA_User ``` **知识点解析:** - **UA_User** 表包含了所有用友系统中的用户信息。 - 此脚本展示了如何查询用户的编码、名称、状态、是否为帐套主管、所属部门、所在组等信息。 - **iAdmin=1** 代表该用户拥有帐套主管的身份,通常用于管理和维护帐套。 - **nState=1** 表示该用户已被停用,无法登录系统。 #### 三、查看具有帐套主管身份的操作员 ```sql select cUser_Id as 操作员编码, cUser_Name as 操作员名称 from UA_User where iAdmin = 1; ``` **知识点解析:** - **iAdmin** 字段用来标记用户是否为帐套主管。 - 通过此查询可以快速筛选出所有帐套主管,便于对他们进行管理或分配额外的任务权限。 #### 四、查看被停用的操作员 ```sql select cUser_Id as 操作员编码, cUser_Name as 操作员名称 from UA_User where nState = 1; ``` **知识点解析:** - **nState** 字段用来标记用户是否被停用。 - 该脚本用于列出所有被停用的用户,这对于安全审计或者重新激活用户非常有用。 #### 五、帐套主子表相关信息 - **帐套主表 (ua_account):** - **cAcc_Id** (账套号) - **cAcc_Name** (账套名称) - **cAcc_Path** (账套路径) - **iYear** (启用会计期年) - **iMonth** (启用会计期月) - **cAcc_Master** (账套主管) - **cCurCode** (本币代码) - **cCurName** (本币名称) - **cUnitName** (单位名称) - **cUnitAbbre** (单位简称) - **cUnitAddre** (单位地址) - **cUnitZip** (邮政编码) - **cUnitTel** (联系电话) - **cUnitFax** (传真) - **cUnitEMail** (电子邮件) - **cUnitTaxNo** (税号) - **cUnitLP** (法人) - **cEntType** (企业类型) - **cTradeKind** (行业类型) - **cIsCompanyVer** (是否集团版) - **cDomain** (域名) - **cDescription** (备注) - **cOrgCode** (机构编码) - **iSysID** (账套内部标识) - **帐套子表 (ua_account_sub):** - **cAcc_Id** (账套号) - **iYear** (账套年度) - **cSub_Id** (模块标识) - **bIsDelete** (是否删除) - **bClosing** (是否关闭) - **iModiPeri** (会计期间) - **dSubSysUsed** (启用会计日期) - **cUser_Id** (操作员) - **dSubOriDate** (启用自然日期) **知识点解析:** - 帐套是用友系统中的基本单位,每个账套对应一个独立的企业或组织。 - **ua_account** 表包含了帐套的基本信息,如账套号、名称、路径等。 - **ua_account_sub** 表存储了账套的年度和其他模块的具体信息。 - **bClosing** 字段用于标记该年度是否已关闭,关闭后通常不允许对上一年度的数据进行修改。 #### 六、关闭上一年度的脚本 ```sql select * from ua_account_sub where cAcc_Id = '002' and iYear = 2008 update ua_account_sub set bClosing = 0 where cAcc_Id = '002' and iYear = 2008 ``` **知识点解析:** - 当用户从其他机器上做了账套升级并拷贝回来时,可能需要手动关闭上一年度。 - 此脚本用于查询并更新特定账套特定年度的状态,将其设置为未关闭状态。 #### 七、清除异常任务及单据锁定 ```sql use ufsystem delete from ua_task delete from ua_tasklog go delete from ufsystem..ua_task delete from ufsystem..ua_tasklog go Select * From ua_task Where (cacc_id='***') -- 注:(***为账套号) ``` **知识点解析:** - 在用友系统中,长时间未完成的任务可能会导致系统异常,此脚本用于清除这些异常任务及其日志记录。 - **ua_task** 和 **ua_tasklog** 表分别存储了正在进行的任务和任务的日志信息。 - 清除异常任务有助于提高系统的稳定性和响应速度。 #### 八、解决科目锁定问题 ```sql use UFDATA_002_2008 select ccode as 科目编码, cauth as 功能名称, cuser as 用户名, cmachine as 机器名 from GL_mccontrol delete from GL_mccontrol ``` **知识点解析:** - 科目锁定问题是指某个科目被用户锁定,导致其他用户无法对该科目进行操作。 - **GL_mccontrol** 表存储了科目锁定的相关信息,包括科目编码、锁定的用户、机器名等。 - 通过查询此表可以找出被锁定的科目以及锁定的用户信息,进而采取措施解锁。 #### 九、获取数据表的所有列名 ```sql select * from ufsystem..ua ``` **知识点解析:** - 获取一个数据表的所有列名对于进行数据迁移、备份或审计非常重要。 - 可以通过查询 SYSTEMOBJECT 和 SYSCOLUMN 表来实现这一目标。 - 此处提供了一个查询的基础框架,但完整的 SQL 语句需要根据实际需求进一步完善。 这些SQL脚本不仅涵盖了用友系统中常见的维护操作,还提供了处理特殊情况的方法。通过对这些脚本的理解和应用,用友系统的维护人员能够更高效地管理数据库,确保系统的稳定运行。
2025-05-21 14:18:57 24KB 10.1
1
涉及OA办公所有SQL语句,具体包含:人事管控、公文档案、日常办公、流程管理、OA互联、部门主页、我的办公室(远程传阅)
2023-03-29 17:27:15 91KB OA系统 SQLserver SQL语句
1
用友U8常用sql 表描述 ,支持查询所有基础资料和单据模板表和字段。便于日常问题的排查。
2023-03-07 13:22:39 7KB 用友U8 用友U8常用SQL
1
包含:Excel2010_常用SQL语句解释 Excel VBA 完全手册
2022-08-08 16:56:32 3.36MB EXCEL SQL VBA
1
SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦SQL_SERVER常用sql语句集锦
2022-08-05 21:04:27 85KB SQL_SERVER常用sql语句集锦
1
常用SQL语句和语法汇总
2022-06-19 11:03:06 17KB sql
第九讲数据库中的常用SQL语句
2022-06-09 09:05:16 503KB 数据库 sql