SQL数据库查询语句,包括增,删,改,查等所有语句详细。

SQL数据库的增、删、改、查询语句是数据库操作的基础。
下面详细介绍这些语句的语法和用法。
补充:有四种方法1.使用insert插入单行数据语法:insert[into][列名]values​例如:insertintoStudents(name,gender,birthdate)values('happypengpeng','male','1980/6/15')注:in可以省略;列名和列值用逗号分隔,值用引号括起来如果表名省略,所有列将按顺序插入2.使用insertselect语句从现有表中添加数据;到已有的新表语法:insertintoselectfrom例如:insertintotongxunlu('name','place.address','email')select学生的姓名、地址、email注意:in中不能省略编号、顺序、数据类型等。
for查询检索到的数据必须匹配插入的元素3.使用selectinto语句;将元素添加到现有表将数据添加到新表的语法:selectinofrom例如:selectname,address,emailintotongxunlufromstrdents注意:新表是在执行查询语句时创建的,不能预先存在。
将标识列(关键字‘identity’)插入到新表中:语法:seereadIdentity(数据类型、标识种子、标识增长量)AS列名从原表名到新表例如:selectidentity(int,1,1)作为标识栏,dengluid,密码为tongxunlufromstruentsNote。
:关键字'identity'4.使用union关键字合并数据插入多行语法:insertselecttnionselect例如:insertStudents(姓名、性别、出生日期)select'快乐鹏鹏','男','1980/6/15'unionselect'蓝小明','男','19**/**/**'注意:插入的列值必须与数字、顺序和数据类型匹配到插入的列名称。
删除:有两种方法1.使用delete删除数据部分数据语法:deletefrom[where]例如:deletefromwherename='HappyPengpeng'注意:删除整行并不会删除单个字段,因此字段名不能为空删除后显示2.使用truncatetable删除整个表中的数据语法:truncatetable例如:truncatetabletongxunlu说明:删除表中所有行,但表的结构、列、约束、指标等不会被删除,不能用于外部约束引用的表更改:使用update来更新和更改数据语法:updateset[where]例如:updatetongxunlusetage=18wherename;='蓝色昵称'注:集合后面可以跟多个数据列的更新值where子句是可选的,用于限制条件。
查询1、普通查询查询语法:selectfrom[where][orderby[ascordesc]]1)查询所有数据行和列例如:select*froma描述:查询表a中的所有行和列2)查询部分行和列columns-条件查询例如:selecti,j,kfromawheref=5说明:查询a表中所有f=5的行,显示i,j,k三列3)使用AS进行更改查询中的列名例如:selectnameasNamefromawherexingbie='male'说明:查询表a中性别为男性的所有行,显示name列,将name列重命名为(name)即可显示4)查询为空rows例如:selectnamefromwhereemailisnull说明:查询email表a中所有行为空,并显示name列;在SQL语句中使用isnull或isnotnull判断是否存在空行列并添加地址列。
列值均为'Tangshan'6)查询返回有限行数(关键字:toppercent)例1:selecttop6namefroma说明:查询表a、显示前6行列名,top为关键字例2:selecttop60percentnamefroma说明:查询表a,显示60%的列名,percent为。
关键字7)查询排序(关键字:order、asc、desc)例如:selectnamefromawhereChengji>=60orderbydesc说明:查询表中Chengji大于等于60的所有行,并以降序显示name列ASC升序2模糊查询1)使用equal进行模糊查询:equal运算符仅用于字符串,因此只能与char和结合使用。
varchar数据类型。
例如:select*fromwherenamelike'赵%'显示a表中的name字段。
一条记录有一个赵字2)在一定范围内的查询之间使用例如:select*fromwherenianlingBetween18and20说明:查询显示表a中年令在18到20之间的记录。
例如:从地址中选择名称。
,'上海','唐山')描述:查询a表中地址值为北京或上海或唐山的记录,并显示姓名字段3、分组查询1)使用groupby进行分组查询例如:selectstudentIDas学号,AVG(score)asAverageScorefromresultgroupofstudentID说明:在表score中查询,按strdentID字段分组,仅显示strdentID字段和score字段的平均值select语句中允许分组列和为每个分组返回值的表达式,例如使用列名Aggregation;函数作为参数2)使用ha子句进行组过滤。
例如:selectstudentID作为学号,AVG(score)作为按student-IDhavingcount(score)>1的分数组的平均分数说明:继续上例,显示分组后count(score)>1的行。
只能在分组后使用。
多表联接查询1)内联接1)在where子句中指定联接条件例如:selecta.name,b.hengjifroma,bwherea.name=b.name说明:查询a表中同名字段的记录。
和b表,并显示a表中的name字段和b表中的Chengji字段2)在from子句中使用join...on例如:selecta.name,b.Chengjifromainnerjoinbon(a.name=b.name)描述:同上2)外连接1)左外连接请求例如:selects.name,c.courseID,c.scorefromstrdentsassleftouterjoinscoreascons.scode=c.strdentID描述:查询strdents表和score表外连接查询中满足on条件的行例如:selects.name,cID,c.scorefromstrdentsassrightouterjoinscoreascons.scode=c.strdentID描述:查询strdents表和points表中满足on条件的行。
条件是strdents表中的scond与points表中的strdentID相同。

常见的SQLServer查询语句

SQL语句由命令、子句、运算符和统计函数组成。
一、命令1、命令的数据定义:CREATE:新建数据表、字段和表列表;RORO:从数据库中删除数据表或索引ALTER:添加或更改字段属性;符合条件的表;A:放置零件;HAVING:设置耦合的条件;普通:建立条件;>、>=、=、<>(不是);:我觉得最有价值;MIN:求最小值;|distinct]<目标列表达式>.|*FROMTABLENAMEWHERE查询语句GROUPBY字段关联(属性名)SEALINGSEALINGORDINBY字段[ASC|DESC]整个Sselect语句的意义是查找满足指定条件的元组在FROM子句的基表中(如果有多个表,用逗号分隔)从WHERE子句的条件查询表达式中,然后第二个到select子句中的属性名(属性名较多,用逗号分隔;字段名来自不同表时,在字段名前添加前缀字段),以元组形式选择属性值,形成结果表;子句,结果是对属性值进行分组,对属性列中具有相同值的元组进行分组。
聚合函数通常在每个组中使用。
如果GROUP子句有HAVING子句,则只输出满足一定条件的组;如果order是BY子句,则结果表也将按升序(ASC)或降序排列;字段值在*:表示对应表的所有字段;DISTINCT:删除结果表中的重复行;)(2)插入元组:INSERTINTO基表名[(表的列名)]VALUES(元组值),(元组值),(元组值)(3)插入搜索结果:INSERTINTO基表名[(表的列名)]此搜索语句可以将select语句的结果插入到基表中。
3、更改数据操作UPDATE基本表名SET属性名=属性值WHERE查询语句4、删除数据操作DELETEFROM基本表名WHERE查询语句6、参数化SQL语句SQL语句中,全局变量名以@@开头,局部变量以@@开头@。
给变量赋值有两种方法,一种是使用SELECT语句,另一种是使用SET语句。
SELECT@varName=表达式或:DECLARE@varNamechar(20)SET@varName="HelloWorld!"