更新时间:2020-02-26 09:33:10 来源:极悦 浏览1998次
目前比较常用的数据库有:ORACLE,DB2、SQLServer、Sybase、Informix、MySQL、VF、Access等。下列语句有部分是Mssql数据中支持的语句,不能在access数据库中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、创建数据库
CREATEDATABASE数据库名称
2、删除数据库
dropdatabase数据库名称
3、sqlserver数据库中备份数据库
---创建备份数据的磁盘设备
USEmaster
EXECsp_addumpdevice'disk','testBack','c:\mssql7
backup\MyNwind_1.dat'
---开始备份
BACKUPDATABASEpubsTOtestBack
4、创建表
createtable表名(列名1类型1[notnull][primary
key],列名2类型2[notnull],..)
A根据已有的表创建新表:
createtable新表名like旧表名(使用旧表创建新表)
B根据已有表的某几个列创建新表:
createtable新表名asselectcol1,col2...from旧表名definitiononly
5、删除表:
droptable表名
6、给数据表增加一列:
Altertable表名addcolumn列名列类型
注:列增加后将不能删除。
DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、添加删除主键:
添加主键:
Altertable表名addprimarykey(列名)
删除主键:
Altertable表名dropprimarykey(列名)
8、创建删除索引:
创建索引:
create[unique]index索引名on表名(col....)
删除索引:
dropindex索引名
注:索引是不可更改的,想更改必须删除重新建。
9、创建删除视图:
创建视图:
createview视图名asselectstatement
删除视图:
dropview视图名
10、常用的基本的sql语句:
选择:
select*from表名where范围
插入:
insertinto表名(field1,field2)values(value1,value2)
删除:
deletefrom表名where范围
更新:
update表名setfield1=value1where范围
查找:
select*from表名wherefield1like’%value1%’---like的语法很精妙,查资料!
排序:
select*from表名orderbyfield1,field2[desc]
总数:
selectcount*as列别名from表名
求和:
selectsum(field1)as列别名from表名
平均:
selectavg(field1)as列别名from表名
最大:
selectmax(field1)as列别名from表名
最小:
selectmin(field1)as列别名from表名
11、几个高级查询运算:
A:UNION运算符
UNION运算符通过组合其他两个结果表(例如TABLE1和TABLE2)并消去表中任何重复行而派生出一个新的结果表。当ALL随UNION一起使用时(即UNIONALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2。
B:EXCEPT运算符
EXCEPT运算符通过包括所有在TABLE1中但不在TABLE2中的行并消除所有重复行而派生出一个结果表。当ALL随EXCEPT一起使用时(EXCEPTALL),不消除重复行。
C:INTERSECT运算符
INTERSECT运算符通过只包括TABLE1和TABLE2中都有的行并消除所有重复行而派生出一个结果表。当ALL随INTERSECT一起使用时(INTERSECTALL),不消除重复行。
注:使用运算词的几个查询结果行的列必须是一致的。
12、外连接:
A、左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。
SQL语句:
selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEF
TOUTJOINbONa.a=b.c
B:右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
13、SQL取前10条记录
selecttop10*form表名where范围
14、包括所有在TableA中但不在TableB和TableC中的行并消除所有重复行而派生出一个结果表:
(selectafromtableA)except(selectafromtableB)except(selectafromtableC)
15、随机取出10条数据
selecttop10*from表名orderbynewid()
16、删除重复记录
Deletefrom表名whereidnotin(selectmax(id)from表名groupbycol1,col2,...)
17、列出数据库里所有的表名
selectnamefromsysobjectswheretype='U'
18、列出表里的所有的列
selectnamefromsyscolumnswhereid=object_id('TableName')
19、TRUNCATE初始化表table1
TRUNCATETABLEtable1
20、选择从10到15的记录
selecttop5*from(selecttop15*fromtableorderbyidasc)table_别名orderbyiddesc
以上就是极悦注册机构小编介绍的“Java编程数据库教程:SQL语言学习”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习