【网学网提醒】:网学会员为需要朋友们搜集整理了sqlserver2000语法-适合初学者的笔记查询相关资料,希望对各位网友有所帮助!
SQL:
定义语言DDLcreate,drop,alter
数据操作语言DMLinsert,update,delete
数据查询语言DQLselect
数据控制语言DCLgrant,revoke,commit,rollback
--创建数据库
createdatabaseA
--创建表
use数据库名
go
createtableX
(IDint,
nameverchar(50),
salint)--sal表的字段名(工资)
--添加数据
insertinto表名values(ID,'字符串','字符')
insertinto表名(ID,name)values(3,'XX')--插入部分字段
--查询数据
select*from表名
--加条件查询
select*from表名wheresal<100
--更新表数据
update表名setsal=sal*1.1,字段名2=**wheresal<100,条件
--删除表的结构和数据
droptable表名
--删除指定条件表内数据
deletefrom表名where字段名='字符'and字段名='xx'or条件3
--特殊条件NULL
字段名isnull
--不等于<>//错误符号!=
字段<>数据
----select
select字段1,字段2,字段3from表名where条件
---取消完全重复行
selectdistinct字段from表名where条件
--指定范围显示结果2种方法(200-250)between
select*from表名where字段>=200and字段<=250
select*from表名where字段between200and250
--模糊查询like(显示name第二个字符为S的所有结果)
select*from表名wherenamelike'_S%'
--批量查询in(效率高)//显示条件1or条件2
select*from表名where字段in(条件1,条件2)
--groupby
--having
--orderby
--排序显示orderby默认升序asc
字段2降序desc
select*from表名orderby字段1asc,字段2desc
-----复杂查询
--函数max,min,sun,avg平均数,count(*)
--groupby+having
--groupby按字段2分组再按字段3分组计算字段1
selectavg(字段1),字段2from表名groupby字段2,字段3
--having对分组查询后的结果进行筛选
--外连接左外连接,右外连接
--leftjoin左连接:左边的表的记录全部显示,如果没有匹配记录填NULL显示
--rightjoin右连接:相反
select字段fromAleftoutBon条件
--top显示前N个数据//N为int类型
selecttopN*from表名
--查询非重复结果存到#temp
selectdistinctinto#tempfrom表名
--数据库备份backup
backupdatabase数据库名todisk='路径'
--恢复数据库
restoredatabase数据库名frromdisk='f:\\路径'
--函数
-
-时间函数类型datetime
getdate()
--datedeff(A,B,getdate())//B为datetime类型
计算getdate()-B=?
单位以A计算(year,month,day,week,hour,minute,second)
--datepart(datepart,date)//取datetime类型中的年或日或日
--replace(字段,'A','B')//将字段中所有A替换成B
--isnull(A,0)//如果A是null则返
回0
--时间函数类型datetime
getdate()
--小数类型numeric(10,2)//一共10位包括2位小数
--notnull,
--unique//唯一的,可以为null
--check(条件)约束范围
定义字段typecheck(字段in范围条件)
--default默认值
字段datetimedefaultgetdate()
--类型字段图片image视频binary
--表的主键primarykey字段值不可重复
--表的外键foreignkeyreferences表名(字段名)
1:获取当前数据库中的所有用户表
selectNamefromsysobjectswherextype='u'andstatus>=0
2:获取某一个表的所有字段
selectnamefromsyscolumnswhereid=object_id('表名')
3:查询用户创建的所有数据库
select*frommaster..sysdatabasesDwheresidnotin(selectsidfrom
master..sysloginswherename='sa')
或者
selectdbid,nameASDB_NAMEfrommaster..sysdatabaseswheresid<>0x01
4:查询某一个表的字段和数据类型
selectcolumn_name,data_typefrominformation_schema.columns
wheretable_name='表名'
8.如何修改数据库的名称:
sp_renamedb'old_name','new_name'
9.只复制一个表结构,不复制数据
selecttop0*into[t1]from[t2]
10.连接远程数据库
select*fromOPENDATASOURCE('SQLOLEDB','DataSource=远程ip;User
ID=sa;Password=密码').库名.dbo.表名
11.获取当前oracle数据库中的所有表
selecttable_namefromuser_tables
12.获取当前oracle表中所有字段的类型
SELECT
COLUMN_NAME,DATA_TYPE,DATA_LENGTH,NULLABLE
FROM