SQL数据库语句.docx

上传人:b****6 文档编号:16471026 上传时间:2023-07-13 格式:DOCX 页数:17 大小:19.31KB
下载 相关 举报
SQL数据库语句.docx_第1页
第1页 / 共17页
SQL数据库语句.docx_第2页
第2页 / 共17页
SQL数据库语句.docx_第3页
第3页 / 共17页
SQL数据库语句.docx_第4页
第4页 / 共17页
SQL数据库语句.docx_第5页
第5页 / 共17页
SQL数据库语句.docx_第6页
第6页 / 共17页
SQL数据库语句.docx_第7页
第7页 / 共17页
SQL数据库语句.docx_第8页
第8页 / 共17页
SQL数据库语句.docx_第9页
第9页 / 共17页
SQL数据库语句.docx_第10页
第10页 / 共17页
SQL数据库语句.docx_第11页
第11页 / 共17页
SQL数据库语句.docx_第12页
第12页 / 共17页
SQL数据库语句.docx_第13页
第13页 / 共17页
SQL数据库语句.docx_第14页
第14页 / 共17页
SQL数据库语句.docx_第15页
第15页 / 共17页
SQL数据库语句.docx_第16页
第16页 / 共17页
SQL数据库语句.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQL数据库语句.docx

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

SQL数据库语句.docx

SQL数据库语句

1.创建数据库

createdatabase"MYDatabase"onprimary(name=hehehe_data,filename='C:

\Users\admin\Desktop\36\hehehe1.mdf',size=5MB,maxsize=unlimited,filegrowth=2MB)logon(name=hehehe_log,filename='C:

\Users\admin\Desktop\36\hehehe1.ldf',size=5MB,maxsize=unlimited,filegrowth=10%)

2.创建数据表

use"MaterialStorage"

createtable[dbo].[入库表]([入库时间][varchar](50),[料号][varchar](50),[简称][varchar](50),[数量][int],[描述][varchar](50),[状态][varchar](50))

3.备份数据库

backupdatabasemydaytodisk='C:

\Users\admin\Desktop\36\ui.bak'

4.还原数据库

restoredatabasemydayfromdisk='C:

\Users\admin\Desktop\ooo.bak'withreplace

5.分离数据库(数据库分离到原数据库的磁盘位置上)

sp_detach_dbdbname='oooo'

附加数据库(还原数据库)

sp_attach_dbdbname='oooo',filename1='oooo.mdf',filename2='oooo.ldf'

6.判断是否有数据库

ifnotexists(select*fromsys.databaseswherename='MaterialStorage')

begin

end

7.判断是否有数据表

ifnotexists(select*fromsys.objectswherename='入库表')

begin

end

8.删除临时表

ifOBJECT_ID('tempdb..#ww2')isnotnull

begin

droptable#ww2

print'thetable#ww2hadbeendropped'

end

9.创建数据表(使用SQL软件中的代码生成功能)

BEGINTRANSACTION

SETQUOTED_IDENTIFIERON

SETARITHABORTON

SETNUMERIC_ROUNDABORTOFF

SETCONCAT_NULL_YIELDS_NULLON

SETANSI_NULLSON

SETANSI_PADDINGON

SETANSI_WARNINGSON

MIT

BEGINTRANSACTION

GO

CREATETABLEdbo.Table_2

IDnchar(10)NULL,

ID2nchar(10)NULL

)ON[PRIMARY]

GO

ALTERTABLEdbo.Table_2SET(LOCK_ESCALATION=TABLE)

GO

MIT

 

10.创建数据表(手动编写代码)

useNGData2016

CREATETABLEdbo.Table_2

IDnchar(10)NULL,

ID2nchar(10)NULL

)ON[PRIMARY]

11.创建联合主键

USENGData2016

CREATETABLEdbo.不良数据_原始数据

NG_IDfloat(53)NOTNULL,

NG_程序组varchar(50)NOTNULL,

NG_程序varchar(50)NOTNULL,

NG_日期varchar(50)NOTNULL,

NG_NLT文件varchar(50)NOTNULL,

constraintpk_aprimarykey(NG_程序,NG_NLT文件)

 

USENGData2016

CREATETABLEdbo.不良数据_原始数据

IDfloat(53)NOTNULLprimarykey,

线别varchar(50)NOTNULL,

机型varchar(50)NOTNULL,

版本varchar(50)NOTNULL,

BOMvarchar(50)NOTNULL,

PCBvarchar(50)NOTNULL,

板面varchar(50)NOTNULL,

是否误报varchar(50)NOTNULL,

CHIP_IC_PCB不良varchar(50)NOTNULL,

不良拼板varchar(50)NOTNULL,

不良位号varchar(50)NOTNULL,

不良描述varchar(50)NOTNULL,

不良时间datetimeNOTNULL,

录入时间datetimeNOTNULL,

是否试用物料varchar(50)NOTNULL,

试用物料位号varchar(50)NOTNULL,

试用物料位号varchar(50)NOTNULL,

试用物料位号varchar(50)NOTNULL,

试用物料位号varchar(50)NOTNULL,

试用物料位号varchar(50)NOTNULL,

使用程序varchar(50)NOTNULL,

不良图片存储位置varchar(50)NOTNULL

)ON[PRIMARY]

12.编辑前1000行

/******ScriptforSelectTopNRowsmandfromSSMS******/

SELECTTOP1000[ID]

[线别]

[机型]

[版本]

[BOM]

[PCB]

[板面]

[是否误报]

[CHIP_IC_PCB不良]

[不良拼板]

[不良位号]

[不良描述]

[不良时间]

[录入时间]

[是否试用物料]

[试用物料位号]

[试用物料位号]

[试用物料位号]

[试用物料位号]

[试用物料位号]

[使用程序]

[不良图片存储位置]

FROM[NGData2016].[dbo].[不良数据_原始数据]

13.修改表的数据类型

usemyday

altertablemyday.dbo.客户信息altercolumnsAlaryfloat

 

14.查询所有的数据库

selectnamefromsysdatabases

15.查询某数据库里所有的数据表(用户表)

usemyday

selectnamefromsysobjectswherextype='u'

16.查询某数据库里所有的数据表(系统表)

usemyday

selectnamefromsysobjectswherextype='s'

 

17.将另一个数据库的同类型数据表合并到该数据库的数据表中

insertintoNGData2016.dbo.机型版本信息_原始数据select*fromNGData2017.dbo.机型版本信息_原始数据

 

18.将不同数据库的同类型数据表合并到新的数据库的数据表中

insertintoNGData2016.dbo.机型版本信息_原始数据2select*fromNGData2016.dbo.机型版本信息_原始数据unionallselect*fromNGData2017.dbo.机型版本信息_原始数据

主键永远不重复的算法

selectNEWID()

19.当原表不存在时,将筛选的数据复制到新表

useMyday

select*intoMO3fromdbo.MO

20.当原表存在时,将筛选的数据复制到新表

--将筛选的数据插入到新表的全部的列中

useMyday

insertintodbo.MO2selectLine,Countfromdbo.MO

--将筛选的数据插入到新表的部分列中

useMyday

insertintodbo.MO2(Line)selectLinefromdbo.MO

 

21.将某一行置顶

SELECT*FROMNGData2016.dbo.不良数据_原始数据

WHERE是否误报=''

ORDERBYcasewhenNG_ID='3'then0else1end,NG_ID

22.统计函数

useNGData2016

select机型as机型,版本as版本,不良位号as不良位号,COUNT(机型)as数量fromNGData2016.dbo.不良数据_原始数据groupby机型,不良位号,版本,机型

 

23.强制参数化

execsys.sp_executesqlN'select*fromNGData2016.dbo.不良数据_原始数据whereNG_ID=1'

N'1bigint'

1=17

24.使用存储过程

USE[NGData2016]

GO

/******Object:

StoredProcedure[dbo].[testproc]ScriptDate:

09/01/201611:

45:

02******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

ALTERPROCEDURE[dbo].[testproc]

--Addtheparametersforthestoredprocedurehere

jingxingnvarchar(100),

banbenvarchar(100),

weihaovarchar(100)

AS

BEGIN

SETNOCOUNTON;

SELECT*

FROM[NGData2016].[dbo].[不良数据_原始数据]

where机型like'%'+jingxing+'%'and版本like'%'+banben+'%'and不良位号like'%'+weihao+'%'

END

exeGData2016.dbo.testprocjingxing='',banben='',weihao=''

25.使用ANSI_NULLSON/ANSI_NULLSOFF选择是否筛选空集

--PrintmessageandperformSELECTstatements.

PRINT'Testingdefaultsetting'

setANSI_NULLSoff

go

DECLAREvarnameint

selectvarname=1

SELECT*

FROMt1

WHEREa=varname

SELECT*

FROMt1

WHEREa<>varname

SELECT*

FROMt1

WHEREaISNULL

26.添加主键

usemyday

altertablemyday.dbo.客户信息addconstraintpk_bprimarykey(ID)

27.删除主键

usemyday

altertablemyday.dbo.客户信息dropconstraintpk_b

28.OBJECT_ID()函数,返回int,用于寻找表格

29.DB_ID()函数,返回int,用于寻找数据库

30.表中添加列

usemyday

altertabledbo.New_Customer

addID3intnull

31.表中删除列

usemyday

altertabledbo.New_Customer

dropcolumnID3

32.表中修改列的类型

usemyday

altertabledbo.New_Customer

altercolumnIDintnotnull

33.表中创建主键

usemyday

altertabledbo.NEW_Customer

addconstraintpk_aprimarykey(ID)

34.表中创建多个主键

usemyday

altertabledbo.NEW_Customer

addconstraintpk_aprimarykey(ID,NAME)

35.表中删除主键

usemyday

altertabledbo.NEW_Customer

dropconstraintpk_a

36.表中修改主键(线先删除主键,再创建主键)

usemyday

altertabledbo.NEW_Customer

dropconstraintpk_a

go

usemyday

altertabledbo.NEW_Customer

addconstraintpk_aprimarykey(ID)

37.表中创建检查约束(检查约束,如列中只能添加’女’,不能填写’男’,就用检查约束实现)

usemyday

altertabledbo.NEW_Customer

addconstraintcheck_acheck(ID2='1')

38.表中删除检查约束

usemyday

altertabledbo.NEW_Customer

dropconstraintcheck_a

39.表中修改检查约束(先删除检查约束,再修改检查约束)

40.表中创建默认约束

usemyday

altertabledbo.同学录

addconstraintdf_highschooldefault'西大附中'forHighSchool

41.表中删除默认约束

usemyday

altertabledbo.同学录

dropconstraintdf_highschool

42.表中创建外键约束(被引用的列需要是约束列)

usemyday

altertableNEW_Customer

addconstraintFkey_IDforeignkey(ID)referencesdbo.客户信息(ID)

43.创建架构mydbo

usemyday

go

createschemamydbo

44.修改表的架构

usemyday

alterschemamydbotransferdbo.客户信息

45.更改数据库名称(不建议使用,建议直接删除再重建数据库)

executesp_renamedbdbname='hello',newname='HelloWorld'

46.重命名数据表名称

useHelloWorld

executesp_renameobjname='Table_3',newname='Table_2',objtype='object'

47.重命名数据表的列名称

useHelloWorld

executesp_renameobjname='dbo.Table_3.ID',newname='ID3',objtype='column'

48.重命名索引

USEAdventureWorks;

GO

EXECsp_renameN'Purchasing.ProductVendor.IX_ProductVendor_VendorID',N'IX_VendorID',N'INDEX';

GO

49.重命名数据类型

USEAdventureWorks;

GO

EXECsp_renameN'Phone',N'Telephone',N'USERDATATYPE';

GO

50.运行作业

usemsdb

execsp_start_jobjob_name='schedule_test'

51.使用Output语句获取Delete、Update、Insert的行

USEmyday

GO

ifexists(select*fromdbo.客户信息)

deletefromdbo.客户信息

UPDATEdbo.客户信息

SETsAlary=9000

OUTPUT

inserted.*

INTO客户信息

FROMdbo.客户信息whereIDin('1','2')

SELECT*FROM客户信息

select*fromdbo.客户信息

GO

52.定义一个用户的表(需要先自定义一个表类型CreateType)

DECLARELocationTVP

ASLocationTableType;

53.执行字符串语句

declaretablenamevarchar(100)

settablename='不良数据_原始数据'

exec('select*fromdbo.'+tablename)

54.使用事务:

执行

useMyday

begintranUpdate_date

updatedbo.人员信息setName='邱健海'whereID=5

mittranUpdate_date

55.使用事务:

回滚

useMyday

begintranUpdate_date

updatedbo.人员信息setName='邱健海'whereID=5

rollbacktranUpdate_date

56.使用事务:

满足条件执行,不满足回滚

useMyday

begintranUpdate_date

updatedbo.人员信息setName='邱健海'whereID=3

ifERROR<>0

begin

rollbacktranUpdate_date

end

else

begin

mittranUpdate_date

end

57.创建视图

CREATEVIEW[dbo].[V_People]

AS

SELECTdbo.人员信息.Name,dbo.人员信息.School,dbo.人员信息.BsetLove

FROMdbo.人员信息,dbo.人员信息wheredbo.人员信息.Name=dbo.人员信息.Name

 

58.表A对比表B,选择表B没有的数据

useMyday

select*fromMOexcept(select*fromMO2unionselect*fromMO2)

59.表A对比表B,选择表AB都有的数据

useMyday

select*fromMOIntersect(select*fromMO2unionselect*fromMO2)

60.使用Raiserror发送消息或者错误

--发送消息,不产生报警

USE[Myday]

select*fromdbo.MO

raiserror('helloworld',10,1,N'abcde')

--发送错误,产出报警

USE[Myday]

select*fromdbo.MO

raiserror('helloworld',16,1,N'abcde')

61.使用视图关联两个表

USE[Myday]

CREATEVIEW[dbo].[View_1]

AS

SELECTdbo.MO2.ID,dbo.MO2.Line,dbo.MO2.Count,dbo.MO2_Info.LineInfo1,dbo.MO2_Info.LineInfo2,dbo.MO2_Info.LineInfo3

FROMdbo.MO2,dbo.MO2_Info

wheredbo.MO2.Line=dbo.MO2_Info.Line

62.使用视图合并两个结构一样的表

USE[Myday]

CREATEVIEW[dbo].[View_UnionMO23]

AS

SELECTdbo.MO2.ID,dbo.MO2.Line,dbo.MO2.Count

FROMdbo.MO2

unionall

selectdbo.MO3.ID,dbo.MO3.Line,dbo.MO3.Count

fromdbo.MO3

63.派生表

select*from(SelectLine,COUNTfromMO)ast

64.查找150行到170行的数据

useMyday

select*from

(selectROW_NUMBER()over(orderbylineasc)asnum,*fromdbo.MO)ast

wheret.numbetween150and170orderbyLineasc

65.E

66.E

67.E

68.E

69.E

70.E

71.E

72.E

73.E

74.E

75.E

76.E

77.e

78.Tt

79.Tt

80.ee

81.44

82.

83.444

84.

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2