1、SQL Server 数据库操作SQL Server 数据库操作-SQLServer数据库操作-=go-使用T-SQL语句创建数据库CREATEDATABASEnew_db-数据库名称ONPRIMARY(NAME=new.mdf,FILENAME=D:MyDocumentsSQL_Servernew.mdf,SIZE=3mb,MAXSIZE=30mb,FILEGROWTH=10%)go-修改数据库容量ALTERDATABASEnew_dbMODIFYFILE(NAME=new.mdf,-逻辑名称SIZE=5MB)go-缩减数据库容量DBCCSHRINKDATABASE(new_db,1)go-
2、使用数据库usenew_dbgo-切换使用的数据库usemastergo-更改数据库名称EXECsp_renamedbnew_db,new_db123EXECSP_RENAMEDBnew_db123,new_dbgo-删除数据库DROPDATABASEnew_dbgo-分离数据库-附加数据库-创建数据库createdatabasest_dbonprimary(name=st.mdf,filename=D:MyDocumentsSQL_Serverst_db.mdf,size=5mb,maxsize=50mb,filegrowth=10%)go-使用数据库usest_dbgo-创建表st_tab
3、lecreatetablest_table(学号intprimarykeyidentity,名称char(6)notnull,专业方向varchar(10)notnull,系部代码char(2)notnull,备注varchar(50)go-重命名表:execsp_renamest_table,st_table123execsp_renamest_table123,st_tablego-重命名列:execsp_renamest_table.学号,学号123,columnexecsp_renamest_table.学号123,学号,columngo-添加新列:altertablest_table
4、add成绩smallintgo-更改列的数据类型:altertablest_tablealtercolumn成绩char(4)go-删除列:altertablest_tabledropcolumn成绩go-使用系统存储过程sp_help查看表信息EXECsp_helpst_tablego-删除表:droptablest_tablego-创建表sc_tablecreatetablesc_table(学号intprimarykeyidentity)goaltertablesc_tableadd姓名char(6)notnullgo-删除表sc_tabledroptablesc_table/*alte
5、rtablesc_tableadd专业varchar(10)notnullaltertablesc_tableadd系部代码char(2)notnull*/-创建另一个表createtablet1(学号intnotnull,usvarchar(30)-删除表的所有数据:Truncatetablet1go-创建主键约束altertablet1addconstraintpkprimarykeyclustered(学号)go-创建t2表createtablet2(学号intnotnull,usvarchar(30)go-创建外建约束altertablet2addconstraintwzforeign
6、key(学号)referencest1(学号)go-删除t2表droptablet2go-删除t1表droptablet1-=go-创建表createtablest_table2(学号intnotnullidentity,名称char(10)notnull,专业方向varchar(10)notnull,系部代码char(2)notnull,备注varchar(50)goaltertablest_table2add高考分数intgo-数据的添加insertst_table2values(李四,计算机系,01,null,null)insertst_table2values(张三,中文系,02,nu
7、ll)insertst_table2values(张龙,计算机系,01,HELLO!,492)insertst_table2values(王五,外语系,03,外语系学习各国的语言,null)insertst_table2values(赵六,中文系,02,null,532)insertst_table2values(赵七八,计算机系,01,学习C语言等有关课程,581)go-省略values的insert语句insertst_table2(名称,专业方向,系部代码,备注)select名称,专业方向,系部代码,备注fromst_table2insertst_table2(名称,专业方向,系部代码,
8、备注)select名称,专业方向,系部代码,备注fromst_table2insertst_table2(名称,专业方向,系部代码,备注)select名称,专业方向,系部代码,备注fromst_table2insertst_table2(名称,专业方向,系部代码,备注)select名称,专业方向,系部代码,备注fromst_table2go-数据的修改updatest_table2set系部代码=01updatest_table2set系部代码=02where专业方向=中文系updatest_table2set系部代码=03where专业方向=外语系go-输出表中的所有列select*from
9、st_table2select学号,名称,专业方向,系部代码,备注fromst_table2go-输出表中部分列select学号,名称fromst_table2select系部代码,名称fromst_table2go-选择表中的若干记录selectdistinct系部代码fromst_table2selectdistinct系部代码,专业方向fromst_table2selectdistinct系部代码,名称fromst_table2go-限制返回行数selecttop10*fromst_table2selecttop5系部代码,名称fromst_table2selecttop5学号,名称fr
10、omst_table2go-常用的查询条件select*fromst_table2where学号=65select*fromst_table2where学号65and学号66and学号67and学号68select*fromst_table2where学号between60and80or系部代码=01select*fromst_table2where学号in(2,23,24,3,4,5,6,7,8)select*fromst_table2where学号notin(1,2,23,24,3,4,5,6,7,8)select*fromst_table2where学号notbetween60and80
11、goselectdistinct*fromst_table2where(专业方向like外语系or名称like张三)and备注isnotnullgoselect*fromst_table2where专业方向notlike外语系and专业方向notlike计算机系goselect*fromst_table2where名称like张_select*fromst_table2where名称like赵_select*fromst_table2where名称like赵%select*fromst_table2where备注like学习%or备注like外语系%go-涉及空值的查询select*froms
12、t_table2where备注isnullselect*fromst_table2wherenot备注isnullselect*fromst_table2where备注isnotnullgo-多重条件查询select*fromst_table2wherenot名称like张_select*fromst_table2wherenot备注like学习%or备注like外语系%go-用查询结果生成新表select*intonew_st_table2fromst_table2wherenot备注isnullgo-删除该表droptablenew_st_table2goselect*intonew2_s
13、t_table2fromst_table2where专业方向notlike外语系and专业方向notlike计算机系go-删除该表droptablenew2_st_table2go-新表前加#是创建临时表select学号,名称,专业方向,高考分数into#new3_st_table2fromst_table2wherenot备注isnullselect*from#new3_st_table2go-删除new3_st_table2表droptable#new3_st_table2/*完整的select语句的基本语法格式虽然select语句的完整语法较复杂,但是其主要的语法格式可归纳如下:SELE
14、CTselect_listintonew_table_nameFROMtable_listWHEREsearch_conditionsGROUPBYgroup_by_expressionHAVINGsearch_conditionORDERBYorder_expressionasc|descSELECTselect_list描述结果集的列,它是一个逗号分隔的表达式,在选择列表中使用“*”表达式指定返回源表中所有的列INTOnew_table_name用于指定使用结果集来创建一个新表,new_table_name是新表的名称FROMtable_list结果集数据来源于哪些表或视图。WHEREse
15、arch_conditions查询条件GROUPBYgroup_by_expression根据列中的值将结果分组。HAVINGsearch_conditions结果集附加筛选,通常与GROUPBY一起使用。ORDERBYorder_expressionASC|DESC对结果进行分组ASC和DESC关键字用于指定行是按升序还是降序排序。*/-对结果进行分组select专业方向,名称,高考分数fromst_table2groupby专业方向,名称,高考分数go-HAVING筛选条件表达式对结果集分组select专业方向,名称,高考分数fromst_table2groupby专业方向,名称,高考分数
16、having专业方向notlike动漫goselect专业方向,名称,高考分数fromst_table2groupby专业方向,名称,高考分数having专业方向动漫go-对查询的结果排序select*fromst_table2orderby高考分数asc-升序排列select*fromst_table2orderby高考分数desc-升序排列go-对数据进行统计selecttop3*fromst_table2orderby高考分数desc-升序排列selectCOUNT(*)fromst_table2selectCOUNT(学号)as高考总人数fromst_table2selectsum(高
17、考分数)as高考总分数fromst_table2selectAVG(高考分数)as高考平均分fromst_table2selectmax(高考分数)as高考最高分fromst_table2selectmin(高考分数)as高考最低分fromst_table2go-使用COMPUTE-对查询结果集中的所有记录进行汇总统计select*fromst_table2orderby高考分数desccomputeavg(高考分数)goselect专业方向,COUNT(*)系部总人数,AVG(高考分数)系部平均成绩fromst_table2groupby专业方向computecount(count(*)co
18、mputesum(count(*)computeavg(avg(高考分数)/*这个与selectAVG(高考分数)as高考平均分fromst_table2算出来的结果为什么不同?*/goselect专业方向,名称,高考分数fromst_table2where专业方向=外语系select专业方向,名称,高考分数fromst_table2where专业方向like外语系goselectdistinct专业方向,高考分数fromst_table2where专业方向=外语系computecount(专业方向)go-清空数据truncatetablest_table2go-插入数据insertst_ta
19、ble2values(张学友,网络,01,没有,411)insertst_table2values(刘德华,计算机,02,没有,412)insertst_table2values(舒淇,计算机,01,没有,413)insertst_table2values(梁咏琪,动漫,02,没有,431)insertst_table2values(杨千嬅,计算机,01,没有,465)insertst_table2values(李宇春,动漫,02,没有,485)insertst_table2values(蔡依林,网络,01,没有,468)insertst_table2values(郑源,计算机,02,没有,5
20、10)insertst_table2values(陈楚生,动漫,01,没有,550)insertst_table2values(张韶涵,计算机,02,没有,421)insertst_table2values(猛非,动漫,01,没有,423)insertst_table2values(郑秀文,网络,02,没有,411)insertst_table2values(林俊杰,计算机,01,没有,511)insertst_table2values(羽泉,计算机,01,没有,500)insertst_table2values(郭富城,网络,02,没有,400)insertst_table2values(黄
21、品源,动漫,02,没有,589)insertst_table2values(梁朝伟,计算机,02,没有,530)insertst_table2values(李克勤,网络,01,没有,520)insertst_table2values(陈小春,国际金融,02,没有,512)insertst_table2values(刘若英,证券期货,02,没有,421)insertst_table2values(刘嘉玲,房地产金融,01,没有,428)insertst_table2values(谭咏麟,房地产金融,02,没有,498)insertst_table2values(张学友,证券期货,01,没有,45
22、4)insertst_table2values(张卫健,证券期货,02,没有,515)insertst_table2values(周传雄,房地产金融,01,没有,532)insertst_table2values(周星驰,国际金融,02,没有,423)insertst_table2values(游鸿明,房地产金融,02,没有,477)insertst_table2values(言承旭,国际金融,02,没有,488)insertst_table2values(许志安,国际金融,01,没有,582)insertst_table2values(叶倩文,房地产金融,01,没有,495)insertst
23、_table2values(叶世荣,房地产金融,02,没有,499)insertst_table2values(张雨生,证券期货,02,没有,531)insertst_table2values(周润发,国际金融,01,没有,531)insertst_table2values(张信哲,证券期货,01,没有,424)insertst_table2values(周渝民,证券期货,02,没有,412)insertst_table2values(太极乐队,证券期货,02,没有,423)goselect*fromst_table2go-数据的删除deletest_table2where系部代码=03deletest_table2-删除表中的所有数据
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1