SQL数据库语句.doc

上传人:豆**** 文档编号:33583175 上传时间:2022-08-11 格式:DOC 页数:20 大小:104.50KB
返回 下载 相关 举报
SQL数据库语句.doc_第1页
第1页 / 共20页
SQL数据库语句.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《SQL数据库语句.doc》由会员分享,可在线阅读,更多相关《SQL数据库语句.doc(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、目录1.创建数据库42.创建数据表43.备份数据库44.还原数据库45.分离数据库(数据库分离到原数据库的磁盘位置上)46.判断是否有数据库47.判断是否有数据表48.删除临时表49.创建数据表(使用SQL软件中的代码生成功能)510.创建数据表(手动编写代码)511.创建联合主键512.编辑前1000行613.修改表的数据类型714.查询所有的数据库715.查询某数据库里所有的数据表(用户表)716.查询某数据库里所有的数据表(系统表)717.将另一个数据库的同类型数据表合并到该数据库的数据表中718.将不同数据库的同类型数据表合并到新的数据库的数据表中719.当原表不存在时,将筛选的数据复

2、制到新表820.当原表存在时,将筛选的数据复制到新表8-将筛选的数据插入到新表的全部的列中8-将筛选的数据插入到新表的部分列中821.将某一行置顶822.统计函数823.强制参数化824.使用存储过程825.使用 ANSI_NULLS ON /ANSI_NULLS OFF 选择是否筛选空集926.添加主键927.删除主键928.OBJECT_ID()函数,返回int,用于寻找表格929.DB_ID()函数,返回int,用于寻找数据库930.表中添加列931.表中删除列1032.表中修改列的类型1033.表中创建主键1034.表中创建多个主键1035.表中删除主键1036.表中修改主键(线先删除

3、主键,再创建主键)1037.表中创建检查约束(检查约束,如列中只能添加女,不能填写男,就用检查约束实现)1038.表中删除检查约束1039.表中修改检查约束(先删除检查约束,再修改检查约束)1040.表中创建默认约束1041.表中删除默认约束1142.表中创建外键约束(被引用的列需要是约束列)1143.创建架构mydbo1144.修改表的架构1145.更改数据库名称(不建议使用,建议直接删除再重建数据库)1146.重命名数据表名称1147.重命名数据表的列名称1148.重命名索引1149.重命名数据类型1150.运行作业1151.使用Output语句获取Delete、Update、Insert

4、的行1152.定义一个用户的表(需要先自定义一个表类型 Create Type)1253.执行字符串语句1254.使用事务:执行1255.使用事务:回滚1256.使用事务:满足条件执行,不满足回滚1257.创建视图1358.表A对比表B,选择表B没有的数据1359.表A对比表B,选择表AB都有的数据1360.使用Raiserror发送消息或者错误13-发送消息,不产生报警13raiserror(hello world,16,1,Nabcde)1361.使用视图关联两个表13where dbo.MO2.Line=dbo.MO2_Info.Line1362.使用视图合并两个结构一样的表13from

5、 dbo.MO3141. 创建数据库create database MYDatabase on primary ( name=hehehe_data, filename=C:UsersadminDesktop36hehehe1.mdf, size=5MB, maxsize=unlimited, filegrowth=2MB ) log on ( name=hehehe_log,filename=C:UsersadminDesktop36hehehe1.ldf,size=5MB,maxsize=unlimited, filegrowth=10% )2. 创建数据表use MaterialStor

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

7、(还原数据库)sp_attach_db dbname=oooo, filename1=oooo.mdf,filename2=oooo.ldf6. 判断是否有数据库if not exists (select * from sys.databases where name=MaterialStorage)begin end7. 判断是否有数据表if not exists ( select * from sys.objects where name=入库表)begin end8. 删除临时表if OBJECT_ID(tempdb.#ww2) is not nullbegindrop table #w

8、w2print the table #ww2 had been droppedend9. 创建数据表(使用SQL软件中的代码生成功能)BEGIN TRANSACTIONSET QUOTED_IDENTIFIER ONSET ARITHABORT ONSET NUMERIC_ROUNDABORT OFFSET CONCAT_NULL_YIELDS_NULL ONSET ANSI_NULLS ONSET ANSI_PADDING ONSET ANSI_WARNINGS ONCOMMITBEGIN TRANSACTIONGOCREATE TABLE dbo.Table_2(ID nchar(10)

9、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) NULL) ON PRIMARY11. 创建联合主键USE NGData2016 CREATE TABLE dbo.不良数据_原始数据(NG_ID float(53) NOT NULL ,NG_程序组 varchar(50) N

10、OT 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.不良数据_原始数据(ID float(53) NOT NULL primary key,线别 varchar(50) NOT NULL,机型 varchar(50) NOT NULL,版本 varchar(50) NOT NULL,BOM varchar(50) NO

11、T 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,不良描述 varchar(50) NOT NULL,不良时间 datetime NOT NULL,录入时间 datetime NOT NULL,是否试用物料 varchar(50) NOT NULL,试用物料位号 varchar(50) NOT NULL,试用物

12、料位号 varchar(50) NOT NULL,试用物料位号 varchar(50) NOT NULL,试用物料位号 varchar(50) NOT NULL,试用物料位号 varchar(50) NOT NULL,使用程序 varchar(50) NOT NULL,不良图片存储位置 varchar(50) NOT NULL) ON PRIMARY12. 编辑前1000行/* Script for SelectTopNRows command from SSMS */SELECT TOP 1000 ID ,线别 ,机型 ,版本 ,BOM ,PCB ,板面 ,是否误报 ,CHIP_IC_PCB

13、不良 ,不良拼板 ,不良位号 ,不良描述 ,不良时间 ,录入时间 ,是否试用物料 ,试用物料位号 ,试用物料位号 ,试用物料位号 ,试用物料位号 ,试用物料位号 ,使用程序 ,不良图片存储位置 FROM NGData2016.dbo.不良数据_原始数据13. 修改表的数据类型use myday alter table myday.dbo.客户信息 alter column sAlary float14. 查询所有的数据库select name from sysdatabases15. 查询某数据库里所有的数据表(用户表)use myday(select name from sysobjects

14、 where xtype=u)16. 查询某数据库里所有的数据表(系统表)use myday(select name from sysobjects where xtype=s)17. 将另一个数据库的同类型数据表合并到该数据库的数据表中insert into NGData2016.dbo.机型版本信息_原始数据 select * from NGData2017.dbo.机型版本信息_原始数据18. 将不同数据库的同类型数据表合并到新的数据库的数据表中insert into NGData2016.dbo.机型版本信息_原始数据2 select * from NGData2016.dbo.机型版

15、本信息_原始数据 union all select * from NGData2017.dbo.机型版本信息_原始数据主键永远不重复的算法select NEWID()19. 当原表不存在时,将筛选的数据复制到新表use Mydayselect * into MO3 from dbo.MO20. 当原表存在时,将筛选的数据复制到新表-将筛选的数据插入到新表的全部的列中use Mydayinsert into dbo.MO2 select Line,Count from dbo.MO-将筛选的数据插入到新表的部分列中use Mydayinsert into dbo.MO2 (Line) selec

16、t Line from dbo.MO21. 将某一行置顶SELECT * FROM NGData2016.dbo.不良数据_原始数据 WHERE 是否误报= ORDER BY case when NG_ID=3 then 0 else 1 end, NG_ID 22. 统计函数use NGData2016 select 机型 as 机型,版本 as 版本, 不良位号 as 不良位号,COUNT(机型) as 数量 from NGData2016.dbo.不良数据_原始数据 group by 机型,不良位号,版本,机型23. 强制参数化exec sys.sp_executesql Nselect

17、 * from NGData2016.dbo.不良数据_原始数据where NG_ID=1,N1 bigint,1=1724. 使用存储过程USE NGData2016GO/* Object: StoredProcedure dbo.testproc Script Date: 09/01/2016 11:45:02 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE dbo.testproc- Add the parameters for the stored procedure herejingxing nvarcha

18、r(100), banben varchar(100),weihao varchar(100)ASBEGINSET NOCOUNT ON;SELECT * FROM NGData2016.dbo.不良数据_原始数据 where 机型 like %+jingxing+% and 版本 like %+banben+% and 不良位号 like %+weihao+%ENDexec NGData2016.dbo.testproc jingxing=,banben=,weihao=25. 使用 ANSI_NULLS ON /ANSI_NULLS OFF 选择是否筛选空集- Print message

19、and perform SELECT statements.PRINT Testing default settingset ANSI_NULLS offgoDECLARE varname intselect varname = 1SELECT * FROM t1 WHERE a = varnameSELECT * FROM t1 WHERE a varnameSELECT * FROM t1 WHERE a IS NULL26. 添加主键use myday alter table myday.dbo.客户信息 add constraint pk_b primary key (ID)27. 删

20、除主键use myday alter table myday.dbo.客户信息 drop constraint pk_b28. OBJECT_ID()函数,返回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 colum

21、n ID int not null33. 表中创建主键use mydayalter table dbo.NEW_Customeradd constraint 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

22、dbo.NEW_Customerdrop constraint pk_agouse mydayalter table dbo.NEW_Customeradd 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.

23、表中修改检查约束(先删除检查约束,再修改检查约束)40. 表中创建默认约束use mydayalter 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 db

24、o.客户信息(ID)43. 创建架构mydbouse mydaygocreate schema mydbo44. 修改表的架构use mydayalter schema mydbo transfer dbo.客户信息45. 更改数据库名称(不建议使用,建议直接删除再重建数据库)execute sp_renamedb dbname=hello,newname=HelloWorld46. 重命名数据表名称use HelloWorldexecute sp_rename objname=Table_3,newname=Table_2,objtype=object47. 重命名数据表的列名称use He

25、lloWorldexecute sp_rename objname=dbo.Table_3.ID,newname=ID3,objtype=column48. 重命名索引USE AdventureWorks;GOEXEC sp_rename NPurchasing.ProductVendor.IX_ProductVendor_VendorID, NIX_VendorID, NINDEX;GO49. 重命名数据类型USE AdventureWorks;GOEXEC sp_rename NPhone, NTelephone, NUSERDATATYPE;GO50. 运行作业use msdbexec

26、sp_start_job job_name=schedule_test51. 使用Output语句获取Delete、Update、Insert的行USE mydayGOif 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

27、 Type)DECLARE LocationTVP AS LocationTableType;53. 执行字符串语句declare tablename varchar(100)set tablename=不良数据_原始数据exec(select * from dbo.+tablename)54. 使用事务:执行use Mydaybegin tran Update_dateupdate dbo.人员信息 set Name=邱健海 where ID=5commit tran Update_date55. 使用事务:回滚use Mydaybegin tran Update_dateupdate db

28、o.人员信息 set Name=邱健海 where ID=5rollback tran Update_date56. 使用事务:满足条件执行,不满足回滚use Mydaybegin tran Update_dateupdate dbo.人员信息 set Name=邱健海 where ID=3if ERROR0beginrollback tran Update_dateendelsebegincommit tran Update_dateend57. 创建视图CREATE VIEW dbo.V_PeopleASSELECT dbo.人员信息.Name,dbo.人员信息.School,dbo.人员

29、信息.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. 使用Raiserror发送消息或者错误-发送消息,不产生报警USE

30、 Mydayselect * from dbo.MOraiserror(hello world,10,1,Nabcde)-发送错误,产出报警USE Mydayselect * from dbo.MOraiserror(hello world,16,1,Nabcde)61. 使用视图关联两个表USE MydayCREATE VIEW dbo.View_1ASSELECT dbo.MO2.ID, dbo.MO2.Line, dbo.MO2.Count,dbo.MO2_Info.LineInfo1, dbo.MO2_Info.LineInfo2, dbo.MO2_Info.LineInfo3FROM

31、 dbo.MO2 ,dbo.MO2_Info where dbo.MO2.Line=dbo.MO2_Info.Line62. 使用视图合并两个结构一样的表USE MydayCREATE VIEW dbo.View_UnionMO23ASSELECT dbo.MO2.ID, dbo.MO2.Line, dbo.MO2.CountFROM dbo.MO2 union allselect dbo.MO3.ID, dbo.MO3.Line, dbo.MO3.Countfrom 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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com