SQL数据库语句.doc

上传人:scccc 文档编号:12395688 上传时间:2021-12-03 格式:DOC 页数:27 大小:78.50KB
返回 下载 相关 举报
SQL数据库语句.doc_第1页
第1页 / 共27页
SQL数据库语句.doc_第2页
第2页 / 共27页
SQL数据库语句.doc_第3页
第3页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SQL数据库语句.doc》由会员分享,可在线阅读,更多相关《SQL数据库语句.doc(27页珍藏版)》请在三一文库上搜索。

1、目录1. 创建数据库 52. 创建数据表 53. 备份数据库 54. 还原数据库 55. 分离数据库(数据库分离到原数据库的磁盘位置上) 56. 判断是否有数据库67. 判断是否有数据表68. 删除临时表 69. 创建数据表(使用SQL 软件中的代码生成功能) 610. 创建数据表(手动编写代码) 711. 创建联合主键 812. 编辑前 1000 行 1.013. 修改表的数据类型 1.114. 查询所有的数据库 1.115. 查询某数据库里所有的数据表(用户表) 1. 116. 查询某数据库里所有的数据表(系统表) 1. 117. 将另一个数据库的同类型数据表合并到该数据库的数据表中 12

2、18. 将不同数据库的同类型数据表合并到新的数据库的数据表中 1219. 当原表不存在时,将筛选的数据复制到新表 1. 220. 当原表存在时,将筛选的数据复制到新表 1. 3- 将筛选的数据插入到新表的全部的列中 1.3- 将筛选的数据插入到新表的部分列中 1.321. 将某一行置顶 1.322. 统计函数 1.323. 强制参数化 1.4.24. 使用存储过程 1.425. 使用 ANSI_NULLS ON /ANSI_NULLS OFF 选择是否筛选空集 1526. 添加主键 1.627. 删除主键 1.628. OBJECT_ID() 函数,返回 int ,用于寻找表格 1. 629.

3、 DB_ID() 函数,返回 int ,用于寻找数据库 1. 630. 表中添加列 1.6.31. 表中删除列 1.6.32. 表中修改列的类型 1.733. 表中创建主键 1.734. 表中创建多个主键 1.735. 表中删除主键 1.736. 表中修改主键(线先删除主键,再创建主键) 1. 737. 表中创建检查约束 (检查约束,如列中只能添加 '女',不能填写 '男 ',就用检查约束实现 ) 1838. 表中删除检查约束 1.839. 表中修改检查约束 (先删除检查约束,再修改检查约束 )1840. 表中创建默认约束 1.841. 表中删除默认约束 1.8

4、42. 表中创建外键约束 (被引用的列需要是约束列 ) 1. 843. 创建架构 mydbo 1944. 修改表的架构 1.945. 更改数据库名称 (不建议使用,建议直接删除再重建数据库 ) 1946. 重命名数据表名称 1.947. 重命名数据表的列名称 1.948. 重命名索引 1.9.49. 重命名数据类型 2.050. 运行作业 2.051. 使用 Output 语句获取 Delete 、Update、 Insert 的行 2052. 定义一个用户的表 (需要先自定义一个表类型 Create Type) 2153. 执行字符串语句 2.154. 使用事务:执行 2.155. 使用事务

5、:回滚 2.256. 使用事务:满足条件执行,不满足回滚 2. 257. 创建视图 2.358. 表A对比表B,选择表 B没有的数据 2359. 表A对比表B,选择表 AB都有的数据 2 360. 使用 Raiserror 发送消息或者错误 2.3- 发送消息,不产生报警 2.3raiserror('hello world',16,1,N'abcde') 2.461. 使用视图关联两个表 2.4 2462. 使用视图合并两个结构一样的表 2.4from dbo.MO3 2.4.1. 创建数据库oncreate database "MYDatabase&

6、quot; on primary ( name=hehehe_data, filename='C:UsersadminDesktop36hehehe1.mdf', size=5MB, maxsize=unlimited, filegrowth=2MB ) log( name=hehehe_log,filename='C:UsersadminDesktop36hehehe1.ldf',size=5MB,ma xsize=unlimited, filegrowth=10% )2. 创建数据表use "MaterialStorage"create

7、tabledbo. 入 库 表 ( 入 库 时 间 varchar(50), 料 号 varchar(50),称 varchar(50), 数量 int, 描述 varchar(50), 状态 varchar(50)3. 备份数据库backup database myday to disk='C:UsersadminDesktop36ui.bak'4. 还原数据库restore database myday from disk='C:UsersadminDesktopooo.bak' with replace5. 分离数据库(数据库分离到原数据库的磁盘位置上)s

8、p_detach_db dbname='oooo'附加数据库(还原数据库)sp_attach_db dbname='oooo', filename1='oooo.mdf',filename2='oooo.ldf'6. 判断是否有数据库if not exists (select * from sys.databases where name='MaterialStorage')beginend7. 判断是否有数据表if not exists ( select * from sys.objects where name

9、=' 入库表 ')beginend8. 删除临时表if OBJECT_ID('tempdb.#ww2') is not nullbegindrop table #ww2print 'the table #ww2 had been dropped'end9. 创建数据表(使用 SQL 软件中的代码生成功能)BEGIN TRANSACTIONSET QUOTED_IDENTIFIER ONSET ARITHABORT ONSET NUMERIC_ROUNDABORT OFFSET CONCAT_NULL_YIELDS_NULL ONSET ANSI_

10、NULLS ONSET ANSI_PADDING ONSET ANSI_WARNINGS ONCOMMITBEGIN TRANSACTIONGOCREATE TABLE dbo.Table_2(ID nchar(10) NULL,ID2 nchar(10) NULL) ON PRIMARYGOALTER TABLE dbo.Table_2 SET (LOCK_ESCALATION = TABLE)GOCOMMIT10. 创建数据表(手动编写代码) use NGData2016CREATE TABLE dbo.Table_2(ID nchar(10) NULL,ID2 nchar(10) NUL

11、L) ON PRIMARY11. 创建联合主键USE NGData2016CREATE TABLE dbo. 不良数据 _原始数据(NG_ID float(53) NOT NULL ,NG_ 程序组 varchar(50) NOT NULL,NG_程序 varchar(50) NOT NULL,NG_ 日期 varchar(50) NOT NULL,NG_NLT 文件 varchar(50) NOT NULL,constraint pk_a primary key(NG_ 程序 ,NG_NLT 文件 ) )USE NGData2016CREATE TABLE dbo. 不良数据 _原始数据(I

12、D float(53) NOT NULL primary key,线别 varchar(50) NOT NULL,机型 varchar(50) NOT NULL,版本 varchar(50) NOT NULL,BOM varchar(50) NOT NULL,PCB varchar(50) NOT NULL, 板面 varchar(50) NOT NULL, 是否误报 varchar(50) NOT NULL,CHIP_IC_PCB 不良 varchar(50) NOT NULL,不良拼板 varchar(50) NOT NULL,不良位号 varchar(50) NOT NULL,不良描述

13、varchar(50) NOT NULL,不良时间 datetime NOT NULL,录入时间 datetime NOT NULL, 是否试用物料 varchar(50) NOT NULL, 试用物料位号 varchar(50) NOT NULL, 试用物料位号 varchar(50) NOT NULL, 试用物料位号 varchar(50) NOT NULL, 试用物料位号 varchar(50) NOT NULL, 试用物料位号 varchar(50) NOT NULL, 使用程序 varchar(50) NOT NULL, 不良图片存储位置 varchar(50) NOT NULL)

14、ON PRIMARY12. 编辑前 1000 行/* Script for SelectTopNRows command from SSMS*/SELECT TOP 1000 ID,线别,机型,版本 ,BOM,PCB,板面,是否误报 ,CHIP_IC_PCB 不良 ,不良拼板 ,不良位号 ,不良描述 ,不良时间 ,录入时间 ,是否试用物料 ,试用物料位号 ,试用物料位号 ,试用物料位号 ,试用物料位号 ,试用物料位号 ,使用程序 ,不良图片存储位置 FROM NGData2016.dbo. 不良数据 _原始数据 13. 修改表的数据类型use mydayalter table myday.db

15、o. 客户信息 alter column sAlary float14. 查询所有的数据库select name from sysdatabases15. 查询某数据库里所有的数据表(用户表)use myday(select name from sysobjects where xtype='u')16. 查询某数据库里所有的数据表(系统表)use myday(select name from sysobjects where xtype='s')17. 将另一个数据库的同类型数据表合并到该数据库的数据表中from NGData2017.dbo.from NGD

16、ata2016.dbo.机型版本信息 _原始数据insert into NGData2016.dbo. 机型版本信息 _原始数据 select 机型版本信息 _原始数据18. 将不同数据库的同类型数据表合并到新的数据库的数据表中insert into NGData2016.dbo. 机型版本信息 _原始数据 2 select 机型版本信息 _原始数据 union all select * from NGData2017.dbo.主键永远不重复的算法select NEWID()19. 当原表不存在时,将筛选的数据复制到新表use Mydayselect * into MO3 from dbo.M

17、O20. 当原表存在时,将筛选的数据复制到新表- 将筛选的数据插入到新表的全部的列中use Mydayinsert into dbo.MO2 select Line,Count from dbo.MO- 将筛选的数据插入到新表的部分列中use Mydayinsert into dbo.MO2 (Line) select Line from dbo.MO21. 将某一行置顶SELECT * FROM NGData2016.dbo. 不良数据 _原始数据WHERE 是否误报 =''ORDER BY case when NG_ID='3' then 0 else 1

18、end, NG_ID22. 统计函数use NGData2016select 机型 as 机型 , 版本 as 版本 , 不良位号 as 不良位号 ,COUNT( 机型 ) as 数量 fromNGData2016.dbo. 不良数据 _原始数据group by 机型 ,不良位号 ,版本 ,机型23. 强制参数化exec sys.sp_executesql N'select * from NGData2016.dbo.NG_ID=1',N'1 bigint',1=1724. 使用存储过程USE NGData2016GO/* Object: StoredProce

19、dure dbo.testproc*/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE dbo.testproc- Add the parameters for the stored procedure herejingxing nvarchar(100),banben varchar(100),不良数据 _原始数据 whereScript Date: 09/01/2016 11:45:02weihao varchar(100)ASBEGINSET NOCOUNT ON;SELECT *不良位号FROM NGData201

20、6.dbo. 不良数据 _原始数据 where 机型 like '%'+jingxing+'%' and版本 like '%'+banben+'%' andlike '%'+weihao+'%'25. 使用 ANSI_NULLS ON /ANSI_NULLS OFF选择是否筛选空集- Print message and perform SELECT statements.PRINT 'Testing default setting'set ANSI_NULLS offgoDECLAR

21、E varname intselect varname = 1SELECT *FROM t1WHERE a = varnameSELECT *FROM t1WHERE a <> varnameSELECT *FROM t1WHERE a IS NULL26. 添加主键use mydayalter table myday.dbo. 客户信息 add constraint pk_b primary key (ID)27. 删除主键use mydayalter table myday.dbo. 客户信息 drop constraint pk_b28. OBJECT_ID() 函数,返回

22、int ,用于寻找表格29. DB_ID()函数,返回int,用于寻找数据库30. 表中添加列use mydayalter table dbo.New_Customeradd ID3 int null31. 表中删除列use mydayalter table dbo.New_Customerdrop column ID332. 表中修改列的类型use mydayalter table dbo.New_Customeralter column ID int not null33. 表中创建主键use mydayalter table dbo.NEW_Customeradd constraint

23、pk_a primary key(ID)34. 表中创建多个主键use mydayalter table dbo.NEW_Customeradd constraint pk_a primary key(ID,NAME)35. 表中删除主键use mydayalter table dbo.NEW_Customerdrop constraint pk_a36. 表中修改主键(线先删除主键,再创建主键)use mydayalter table dbo.NEW_Customerdrop constraint pk_agouse mydayalter table dbo.NEW_Customeradd

24、constraint pk_a primary key(ID)37. 表中创建检查约束 (检查约束,如列中只能添加 '女 ',不能填写 '男',就用检查约束实现 )use mydayalter table dbo.NEW_Customeradd constraint check_a check(ID2='1')38. 表中删除检查约束use mydayalter table dbo.NEW_Customerdrop constraint check_a39. 表中修改检查约束 ( 先删除检查约束,再修改检查约束)40. 表中创建默认约束use m

25、ydayalter table dbo. 同学录add constraint df_highschool default '西大附中 ' for HighSchool41. 表中删除默认约束use mydayalter table dbo. 同学录drop constraint df_highschool42. 表中创建外键约束 ( 被引用的列需要是约束列 )use mydayalter table NEW_Customeradd constraint Fkey_ID foreign key(ID) references dbo.客户信息 (ID)43. 创建架构 mydbou

26、se mydaygocreate schema mydbo44. 修改表的架构use mydayalter schema mydbo transfer dbo. 客户信息45. 更改数据库名称 (不建议使用,建议直接删除再重建数据库 )execute sp_renamedb dbname='hello',newname='HelloWorld'46. 重命名数据表名称use HelloWorldexecute sp_rename objname='Table_3',newname='Table_2',objtype='ob

27、ject'47. 重命名数据表的列名称use HelloWorld48. 重命名索引USE AdventureWorks;GOGO49. 重命名数据类型USE AdventureWorks;GOEXEC sp_rename N'Phone', N'Telephone', N'USERDATATYPE'GO50. 运行作业use msdbexec sp_start_job job_name='schedule_test'51. 使用 Output 语句获取 Delete 、 Update 、 Insert 的行USE myd

28、ayGOif exists (select * from dbo. 客户信息 )delete from dbo. 客户信息UPDATE dbo. 客户信息SET sAlary = 9000OUTPUTinserted.*INTO 客户信息FROM dbo. 客户信息 where ID in ('1','2')SELECT * FROM 客户信息select * from dbo.客户信息GO52. 定义一个用户的表 (需要先自定义一个表类型Create Type)DECLARE LocationTVPAS LocationTableType;53. 执行字符串语

29、句declare tablename varchar(100)set tablename=' 不良数据 _原始数据 'exec('select * from dbo.'+tablename)54. 使用事务:执行use Mydaybegin tran Update_dateupdate dbo. 人员信息 set Name=' 邱健海 ' where ID=5commit tranUpdate_date55. 使用事务:回滚use Mydaybegin tran Update_dateupdate dbo. 人员信息 set Name='

30、 邱健海 ' where ID=5rollback tran Update_date56. 使用事务:满足条件执行,不满足回滚use Mydaybegin tran Update_dateupdate dbo. 人员信息 set Name=' 邱健海 ' where ID=3if ERROR<>0beginrollback tran Update_dateendelsebegincommit tranUpdate_dateend57. 创建视图CREATE VIEW dbo.V_PeopleAS人员信SELECT dbo. 人员信息 .Name,dbo. 人

31、员信息 .School,dbo. 人员信息 .BsetLoveFROM dbo. 人员信息 ,dbo. 人员信息 where dbo. 人员信息 .Name=dbo.息.Name58. 表A对比表B,选择表B没有的数据use Mydayselect * from MO except (select * from MO2 union select * from MO2)59. 表A对比表B,选择表AB都有的数据use Mydayselect * from MO Intersect (select * from MO2 union select * from MO2)60. 使用 Raiserro

32、r 发送消息或者错误- 发送消息,不产生报警USE Mydayselect * from dbo.MOraiserror('hello world',10,1,N'abcde')- 发送错误,产出报警USE Mydayselect * from dbo.MOraiserror('hello world',16,1,N'abcde')61. 使用视图关联两个表USE MydayCREATE VIEW dbo.View_1ASFROM dbo.MO2 ,dbo.MO2_Info62. 使用视图合并两个结构一样的表USE MydayCR

33、EATE VIEW dbo.View_UnionMO23ASFROM dbo.MO2union allfrom dbo.MO363. 派生表select * from (Select Line,COUNT from MO) as t64. 查找 150 行到 170 行的数据use Mydayselect * from(select ROW_NUMBER() over(order by line asc) as num,* from dbo.MO) as twhere t.num between 150 and 170 order by Line asc65. E66. E67. E68. E69. E70. E71. E72. E73. E74. E75. E76. E77. e78. Tt79. Tt80. ee81. 4482.83. 44484. www感谢下载!欢迎您的下载,资料仅供参考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1