数据库基本_SQL语句大全
学会数据库就是很实用D~~记录一些常用得sql语句、、.有入门有提高有见都没见过得.。、好全。.、收藏下。。。
其实一般用得就就是查询,插入,删除等语句而已。。.。但学学存储过程就是好事、。.以后数据方面得东西就不用在程序里搞喽、。而且程序与数据库只要一个来回通讯就可以搞定所有数据得操作。、。、
一、基础
1、说明:创建数据库
CreateDATABASE database—name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
——- 创建备份数据得device
USEmaster
EXEC sp_addumpdevice‘disk‘, ‘testBack‘, ‘c:\mssql7ba ckup\MyNwind_1。dat‘
-——开始备份
BACKUPDATABASE pubs TO testBack
4、说明:创建新表
create tabletabname(col1type1 [not null] [primary key],col2 type2[not null],、、)
根据已有得表创建新表:
A:createtabletab_newlike tab_old (使用旧表创建新表)
B:createtable tab_new as select col1,col2… from ta
b_old definitiononly
5、说明:删除新表
droptable tabname
6、说明:增加一个列
Altertable tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变得就是增加varchar类型得长度。
7、说明:添加主键: Alter tabletabname add primary key(col)
说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique]index idxname on tabname(col…。)
删除索引:drop index idxname
注:索引就是不可更改得,想更改必须删除重新建。
9、说明:创建视图:createview viewname as select stat ement
删除视图:drop view viewname
10、说明:几个简单得基本得sql语句
选择:select * from table1where范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1set field1=value1where 范围
查找:select*from table1 where field1like ’%valu
e1%' -——like得语法很精妙,查资料!
排序:select *from table1order byfield1,field2[desc]总数:select count as totalcount from table1
求与:select sum(field1)as sumvalue from table1
平均:select avg(field1) as avgvaluefromtable1
最大:selectmax(field1) as maxvaluefrom table1
最小:select min(field1) as minvaluefrom table1
11、说明:几个高级查询运算词
A:UNION 运算符
UNION运算符通过组合其她两个结果表(例如TABLE1 与TABLE2)并消去表中任何重复行而派生出一个结果表、当ALL 随UNION一起使用时(即UNION ALL),不消除重复行。两种情况下,派生表得每一行不就是来自TABLE1就就是来自TABLE2、
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在TABLE1 中但不在TABLE2 中得行并消除所有重复行而派生出一个结果表。当ALL随EXCEPT
一起使用时(EXCEPTALL),不消除重复行。
C:INTERSECT运算符
INTERSECT 运算符通过只包括TABLE1 与TABLE2 中都有得行并消除所有重复行而派生出一个结果表。当ALL随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。
注:使用运算词得几个查询结果行必须就是一致得。
12、说明:使用外连接
A、left outer join:
左外连接(左连接):结果集几包括连接表得匹配行,也包括左连接表得所有行、
SQL: select a、a, a.b, a.c, b.c, b.d, b.ffrom a LEFTOUT JOI Nb ON a。a =b。c
B:right outer join:
右外连接(右连接):结果集既包括连接表得匹配连接行,也包括右连接表得所有行、
C:fullouter join:
全外连接:不仅包括符号连接表得匹配行,还包括两个连接表中得所有记录。
二、提升
1、说明:复制表(只复制结构,源表名:a新表名:b) (Access可用)
法一:select *intobfrom awhere1<>1
法二:selecttop 0 *into b froma
2、说明:拷贝表(拷贝数据,源表名:a目标表名:b)(Access可用) insertinto b(a,b, c)selectd,e,f fromb;
3、说明:跨数据库之间表得拷贝(具体数据使用绝对路径)(Access可用) insert into b(a,b,c)select d,e,f from b in ‘具体数据库' where 条件
例子:、、from b in ‘"&Server、MapPath(”。”&”\data、mdb" &"‘ where、、
4、说明:子查询(表名1:a 表名2:b)
select a,b,c from a whereaIN(select d from b或者:
select a,b,c from awhere a IN (1,2,3)
5、说明:显示文章、提交人与最后回复时间
select a。title,https://www.sodocs.net/doc/b35197753.html,ername,b.adddatefromtable a,(select max(a dddate) adddate from table wheretable。title=a、title)b 6、说明:外连接查询(表名1:a 表名2:b)
selecta、a, a。b, a、c, b.c, b、d, b、f froma LEFT OUT JOIN b ON a、a = b、c
7、说明:在线视图查询(表名1:a
select*from(Select a,b,c FROMa)T where t。a〉1;
8、说明:between得用法,between限制查询数据范围时包括了边界值,n ot between不包括
select*from table1 where timebetween time1 and time2
select a,b,c, from table1 where a not between数值1and数值2
9、说明:in 得使用方法
select * from table1 wherea[not]in(‘值1’,’值2’,'值4’,’值6’)10、说明:两张关联表,删除主表中已经在副表中没有得信息
deletefrom table1 where not exists (select *from table2 where table1。field1=table2。field1
11、说明:四表联查问题:
select*fromaleftinnerjoin bona。a=b。brig ht inner joincon a.a=c.cinnerjoin d on a、a=d、d where.。.。、
12、说明:日程安排提前五分钟提醒
SQL: select*from 日程安排where datediff(‘minute‘,f 开始时间,getdate())〉5
13、说明:一条sql 语句搞定数据库分页
selecttop10 b.* from (select top20 主键字段,排序字段from表名order by排序字段desc) a,表名bwhere b.主键字段= a.主键字段order by a。排序字段
14、说明:前10条记录
selecttop10*form table1where范围
15、说明:选择在每一组b值相同得数据中对应得a最大得记录得所有信息(类似这样得用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等。)
select a,b,c from tablenameta where a=(select max(a) from tablename tb where tb。b=ta。b)
16、说明:包括所有在TableA 中但不在TableB与TableC 中得行并消除所有重复行而派生出一个结果表
(select a from tableA except (select afrom tableB) except (selecta from tableC)
17、说明:随机取出10条数据
selecttop 10*from tablename orderby newid()
18、说明:随机选择记录
select newid()
19、说明:删除重复记录
Delete fromtablename where id not in (select max(id)from tablenamegroupby col1,col2,、、。)
20、说明:列出数据库里所有得表名
select name from sysobjectswhere type=‘U‘
21、说明:列出表里得所有得
selectname from syscolumns where id=object_id(‘Ta bleName‘)
22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中得case。
select type,sum(case vender when ‘A‘ then pcs else 0 end),sum(case venderwhen‘C‘ then pcs else0 end),sum(case venderwhen‘B‘ then pcs else 0 end) FROM tablena me group bytype
显示结果:
type venderpcs
电脑A 1
电脑A1
光盘B2
光盘A 2
手机B 3
手机C3
23、说明:初始化表table1
TRUNCATETABLE table1
24、说明:选择从10到15得记录
selecttop5*from (select top15 *from table order by id asc) table_别名order by iddesc
三、技巧
1、1=1,1=2得使用,在SQL语句组合时用得较多
“where1=1” 就是表示选择全部“where1=2"全部不选,
如:
if@strWhere!=‘
begin
set strSQL =‘select count(*) as Total from[‘ + tblName+ ‘]where‘+ strWhere
end
else
begin
set @st rSQL = ‘select count(*) as Totalfrom[‘ + @tblName+‘]‘
end
我们可以直接写成
set@strSQL = ‘select count(*) as Totalfrom [‘+@tblName+‘] where 1=1安定‘+ strWhere
2、收缩数据库
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
-—收缩数据与日志
DBCCSHRINKDB
DBCC SHRINKFILE
3、压缩数据库
dbcc shrinkdatabase(dbname)
4、转移数据库给新用户以已存在用户权限
execsp_change_users_login‘update_one‘,‘newname‘,‘oldname‘
go
5、检查备份集
RESTOREVERIFYONLYfrom disk=‘E:\dvbbs、bak‘
6、修复数据库
Alter DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB(‘dvbbs‘,repair_allow_data_loss) WITH TABL OCK
GO
Alter DATABASE[dvbbs] SET MULTI_USER
GO
7、日志清除
SET NOCOUNT ON
DECLARE Logical sysname,
MaxMinutes INT,
@NewSize INT
USE tablename——要操作得数据库名
Select @Logical= ‘tablename_log‘, —- 日志文件名
@MaxMinutes=10, -—Limit on time allowed to wraplog。
@NewSize = 1-—您想设定得日志文件得大小(M)
—- Setup/initialize
DECLARE OriginalSize int
Select OriginalSize=size
FROM sysfiles
Where name= @Logical
Select ‘Original Size of ‘ + db_name() +‘LOGis ‘ +
CONVERT(VARCHAR(30),@OriginalSize) + ‘ 8Kpages or ‘ +
CONVERT(VARCHAR(30),(OriginalSize*8/1024)) +
‘MB‘
FROMsysfiles
Where name= Logical
Create TABLE DummyTrans
(DummyColumn char(8000) not null)
DECLARECounter INT,
@StartTime DATETIME,
TruncLog VARCHAR(255)
Select StartTime= GETDATE(),
@TruncLog = ‘BACKUP LOG‘ +db_name() +‘ WITH TRUNCATE_ONLY‘
DBCCSHRINKFILE(@Logical,NewSize)
EXEC(TruncLog)
-— Wrap the log if necessary.
WHILEMaxMinutes〉DATEDIFF (mi, @StartTime,GETDATE())—-time has not expired
AND @OriginalSize = (Select size FROM sysfiles Wherename=Logical)
AND (OriginalSize *8 /1024)>@NewSize
BEGIN ——Outer loop。
Select@Counter= 0
WHILE ((Counter BEGIN --update Insert DummyTrans VALUES (‘Fill Log‘) Delete DummyTrans SelectCounter = @Counter + 1 END EXEC(TruncLog) END Select‘Final Sizeof‘ + db_name()+ ‘ LOG is ‘+ CONVERT(VARCHAR(30),size)+‘ 8Kpages or‘ + CONVERT(VARCHAR(30),(size*8/1024)) + ‘MB‘ FROM sysfiles Where name = @Logical DropTABLE DummyTrans SET NOCOUNT OFF 8、说明:更改某个表 exec sp_changeobjectowner ‘tablename‘,‘dbo‘ 9、存储更改全部表 Create PROCEDURE dbo.User_ChangeObjectOwnerBatch OldOwner as NVARCHAR(128), NewOwner asNVARCHAR(128) AS DECLARE@Name as NVARCHAR(128) DECLARE Owner asNVARCHAR(128) DECLARE OwnerName as NVARCHAR(128) DECLARE curObject CURSOR FOR select ‘Name‘=name, ‘Owner‘ = user_name(uid) from sysobjects where user_name(uid)=@OldOwner order byname OPEN curObject FETCHNEXTFROM curObject INTOName, Owner WHILE(@@FETCH_STATUS=0) BEGIN if@Owner=@OldOwner begin set @OwnerName = @OldOwner+‘。‘ + rtrim(Name) exec sp_changeobjectowner @OwnerName,NewOwner end -— select@name,@NewOwner,@OldOwner FETCH NEXT FROMcurObject INTO Name, @Owner END close curObject deallocate curObject GO 10、SQL SERVER中直接循环写入数据 declarei int set i=1 while i<30 begin insertinto test(userid) values(@i) set @i=@i+1 end 常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 DROP database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 DROP table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname DROP primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:DROP index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:DROP view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 1、select x.商品代号,分类名,数量,品牌 From 商品表现1 x,商品表2 y Where x.商品代号=y.商品代号 (从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息。)2、select distinct 产地 From商品表2 (从商品库中查询出所有商品的不同产地。) 3、select distinct 品牌 From 商品表2 (从商品库中查询出所有商品的不同品牌) 4、select count(distinct产地)as产地数From商品表2 (从商品库中查询出所有商品的不同产地的总数。) 5、select x.商品代号,分类名,产地,品牌 From商品表1 x.,商品表2 y Where x,商品代号=y.商品代号and (品牌=‘熊猫’or品牌=‘春兰’) (从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌。) 19、select 商品表1.商品代号,单价,数量,产地 From 商品表1,商品表2 Where 商品表达式1.商品代号=商品表达式2.商品代号 (从商品库中查询出每种商品的商品代号、单价、数量和产地。) 20、select count(*) From 商品表1 Where数量》10 (从商品库中查询出数量大于10的商品种数。) 21、select * From商品表1 Where数量between 10 and20 (从商品库中查询出数量在10和20之间的所有商品。) 22、select分类名,max(单价)as最高单价 From商品表1 Group by 分类名 (从商品库中查询出每类(即类名相同)商品的最高单价)23、select分类名,avg(数量)as平均 数量 From商品表1 Group by分类名 (从商品库中查询出每类(即分类名相 同)商品的平均数量) 24、select分类名,sum(数量)as总 数量 From商品表1 Group by分类名 (从商品库中查询出每类(即分类名相 同)商品的总数量。) 25、select* From商品表1 Where单价>all(select单价 From商品表1 Where分类名’电视机’) (从商品库中查询出比所有电视机的 单价都高的每种商品) 26、select* From商品表1 Where单价>all(select avg(单价) From商品表1) (从商品库中查询出比所有商品单价 的平均值要高的全部商品) 27、select* From商品表1 Where数量=some(select max(数量) From商品表1) (从商品库中查询出数量最多的一种 商品) 28、select distinct分类名 From商品表1. Group by 分类名having count(*)>1 (从商品库中查询出同一类商品多于一 种的所有分类名) 29、select商品表1.*,产地 From商品表1,商品表2 Where商品表1.商品代号=商品表2.商 品代事情and产地in( Select 产地 From商品表1 x ,商品表2 y Where x.商品代号=y.商品代号 Group by产地having count(*)=1) (从商品库中查询出同一产地的商品 只有一种的所有商品) 30、select*,单价*数量as总价值 From商品表1 Order by总价值desc (从商品库中查询出每种商品的总价 值,并按降序排列出来 6、select 学生。学生号,count(*)as选 课门数 From学生,选课 Where学生.学生号=选课.学生号 Group by 学生。学生号 (从教学库中查询出互个学生选课的 门数。) 7、select distinct x.* From 学生产x,选课y,选课z Where y.学生号=z.学生号and y .课程 号<>z.课程号and x.学生号=y.学生号 (从教学库中查询出至少选修了两门 课程的全部学生。) 8、select * From 学生 Where 学生号in (select 学生号 From 选课 Group by 学生号having coount (*)=1) (从教学库中查询出只选修了一门课 程的全部学生。) 9、select x.学生号,y.学生号,y.课程号 From 选课x,选课y Where x.学生号=@sl and y.学生号=@ s2 and x.课程号=y.课程号 (从教学库中查询出学生号为@s1的学 生和学生号为@s2的学生所选修的共 同课程的课程号。) 10、select x.* From 课程x,选课y Where x.课程号=y.课程号and y .学生 号=@s1 and y.课程号not in( select 课程号 from 选课 where 选课.学生号=@s2) (从教学库中查询出学生号为@S1的学 生所选修、而学生号为@s2的学生没有 选修的全部课程。) 11、select * From 课程 Where not exists( select * from 选课 where 课程.课程号=选课.课程号) (从教学库中查询出所有未被学生选 修的课程。) 12、select * From 课程 Where exists(Select * From 选课 Where 课程.课程号=选课.课程号) (从教学库中查询出所有已被学生选 修的课程。) SAS中的SQL语句完全教程之一:SQL简介与基本查询功能 本系列全部内容主要以《SQL Processing with the SAS System (Course Notes)》为主进行讲解,本书是在网上下载下来的,但忘了是在哪个网上下的,故不能提供下载链接了,需要的话可以发邮件向我索取,我定期邮给大家,最后声明一下所有资料仅用于学习,不得用于商业目的,否则后果自负。 1 SQL过程步介绍 1.1 SQL过程步可以实现下列功能: 查询SAS数据集、从SAS数据集中生成报表、以不同方式实现数据集合并、创建或删除SAS 数据集、视图、索引等、更新已存在的数据集、使得SAS系统可以使用SQL语句、可以和SAS的数据步进行替换使用。注意,SQL过程步并不是用来代替SAS数据步,也不是一个客户化的报表工具,而是数据处理用到的查询工具。 1.2 SQL过程步的特征 SQL过程步并不需要对每一个查询进行重复、每条语句都是单独处理、不需要print过程步就能打印出查询结果、也不用sort过程步进行排序、不需要run、要quit来结束SQL过程步 1.3 SQL过程步语句 SELECT:查询数据表中的数据 ALTER:增加、删除或修改数据表的列 CREATE:创建一个数据表 DELETE:删除数据表中的列 DESCRIBE:列出数据表的属性 DROP:删除数据表、视图或索引 INSERT:对数据表插入数据 RESET:没用过,不知道什么意思 SELECT:选择列进行打印 UPDATE:对已存在的数据集的列的值进行修改 2 SQL基本查询功能 2.1 SELECT语句基本语法介绍 SELECT SQL查询语句大全集锦 MYSQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 复制内容到剪贴板 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: 复制内容到剪贴板 代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题: 复制内容到剪贴板 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: 复制内容到剪贴板 代码:SELECT TOP 2 * FROM `testtable` 复制内容到剪贴板 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 复制内容到剪贴板 代码:SELECT `username`,citytable.cityid FROM `usertable`,`citytable` WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名: 复制内容到剪贴板 代码:表名 as 别名 表名别名例如上面语句可用表的别名格式表示为: 复制内容到剪贴板 SQL语句大全 --语句功能 --数据操作 SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从数据库中删除一个域 --数据控制 GRANT --授予用户访问权限 DENY --拒绝用户访问 REVOKE --解除用户访问权限 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征--程序化SQL DECLARE --为查询设定游标 EXPLAN --为查询描述数据访问计划 OPEN --检索查询结果打开一个游标 FETCH --检索一行查询结果 CLOSE --关闭游标 PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句 DESCRIBE --描述准备好的查询 S A S中的S Q L语句完全教程之一:S Q L简介与基本查询功能本系列全部内容主要以《SQLProcessingwiththeSASSystem(CourseNotes)》为主进行讲解,本书是在网上下载下来的,但忘了是在哪个网上下的,故不能提供下载链接了,需要的话可以发邮件向我索取,我定期邮给大家,最后声明一下所有资料仅用于学习,不得用于商业目的,否则后果自负。 1SQL过程步介绍 过程步可以实现下列功能: 查询SAS数据集、从SAS数据集中生成报表、以不同方式实现数据集合并、创建或删除SAS数据集、视图、索引等、更新已存在的数据集、使得SAS系统可以使用SQL 语句、可以和SAS的数据步进行替换使用。注意,SQL过程步并不是用来代替SAS数据步,也不是一个客户化的报表工具,而是数据处理用到的查询工具。 过程步的特征 SQL过程步并不需要对每一个查询进行重复、每条语句都是单独处理、不需要print 过程步就能打印出查询结果、也不用sort过程步进行排序、不需要run、要quit来结束SQL过程步 过程步语句 SELECT:查询数据表中的数据 ALTER:增加、删除或修改数据表的列 CREATE:创建一个数据表 DELETE:删除数据表中的列 DESCRIBE:列出数据表的属性 DROP:删除数据表、视图或索引 RESET:没用过,不知道什么意思 SELECT:选择列进行打印 UPDATE:对已存在的数据集的列的值进行修改 2SQL基本查询功能 语句基本语法介绍 SELECT 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 实验 SQL语言 一、实验目的 1、理解数据库以及数据表的设计; 2、熟悉SQL Server2005中的数据类型; 3、熟悉使用SQL语句创建和删除模式和索引; 4、掌握使用SQL语句创建、修改和删除数据表; 5、掌握使用SQL语句查询表中的数据; 6、掌握使用SQL语句插入、修改和删除数据表中的数据; 7、掌握使用SQL语句创建、删除、查询和更新视图。 二、实验容 (一)创建数据库和模式 1、通过SQL语句创建图书信息管理数据库,命名为“db_Library”,数据文件和日志文件放在D盘下以自己学号和命名的文件夹中,数据文件的逻辑名为db_Library_data,数据文件的操作系统名为db_Library_data.mdf,文件初始大小为10MB,最大可增加至300MB,增幅为10%;日志文件的逻辑名为db_Library_log,日志文件的操作系统名为db_Library_data.ldf,文件初始大小为5MB,最大可增加至200MB,增幅为2MB。 2、通过SQL语句在该数据库中创建模式L-C。 (二)创建和管理数据表 要求为各数据表的字段选择合适的数据类型及名称;为各数据表设置相应的完整性约束条件。 1、通过SQL语句将以下数据表创建在L-C模式下: 课程信息表(tb_course)——课程编号Course number 、课程名Course name 、先修课The first course 、学分credit 2、通过SQL语句将以下数据表创建在该数据库的默认模式dbo下: 图书类别信息表(tb_booktype)——类别编号Type number 、类别名称Category name 图书信息表(tb_book)——图书编号ISBN 、类别编号Type number、书名title 、作者author、BookPublic、定价BookPrice、库存数Inventory number 读者信息表(tb_reader)——读者编号Reader ID 、、性别、学号Student ID 、班级、系部pastern 借阅信息表(tb_borrow)——图书编号、读者编号、借阅日期Borrowing date 、归还日期Return date 3、通过SQL语句对读者信息表进行修改:删除系部字段、添加所在系字段。 4、通过SQL语句对图书信息表进行修改:将定价的数据类型改为REAL。 5、通过SQL语句删除课程信息表。 (三)创建和删除索引 1、使用SQL语句在图书信息表上创建一个非聚簇索引IX_S_QUANTITY,要求按照该表中库存数字段的降序创建。 2、使用SQL语句在读者信息表上创建一个唯一的非聚簇索引IX_S_NAME,要求按照该表中的字段的升序创建。 3、使用SQL语句删除之前创建的两个索引。 (四)数据库及数据表设计 数据库经典SQL语句大全 篇一:经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk','testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2? from tab_old definition only 5、说明: 删除新表: tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col?.) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下... 其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要一个来回通讯就可以搞定所有数据的操作.... 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where X围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where X围 更新:update table1 set field1=value1 where X围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 数据库基本SQL语句大全 数据库基本----SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1、d at' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 typ e2 [not null],、、) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definit ion only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的就是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col…、) 删除索引:drop index idxname 注:索引就是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 整理了一下,希望对大家有用 SQL语句大全 --语句功能 --数据操作 SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从数据库中删除一个域 --数据控制 GRANT --授予用户访问权限 DENY --拒绝用户访问 REVOKE --解除用户访问权限 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征--程序化SQL DECLARE --为查询设定游标 EXPLAN --为查询描述数据访问计划 OPEN --检索查询结果打开一个游标 FETCH --检索一行查询结果 CLOSE --关闭游标 PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句 DESCRIBE --描述准备好的查询 经典SQL语句大全 —、基础 1说明:创建数据库 CREATE DATABASE database-n ame 2、说明:删除数据库 drop database dbn ame 3、说明:备份sql server ---创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwi nd_1.dat' ---开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tab name(col1 type1 [not nu II] [primary key],col2 type2 [not nul l] ,..) 根据已有的表创建新表: A: create table tab_new like tab_old ( 使用旧表创建新表) B: create table tab_new as select col1,col2 …from tab_old definition only 5、说明:删除新表 drop table tab name 6、说明:增加一个列 Alter table tab name add colu mn col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varc har类型的长度。 7、说明:添加主键:Alter table tab name add primary key(col) 说明:删除主键 : Alter table tab name drop primary key(col) 8、说明:创建索弓丨:create [unique] index idxname on tabname(col ….) 删除索弓丨:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view view name as select stateme nt 删除视图:drop view view name 10、说明:几个简单的基本的sql语句 选择:select * from tablei where 范围 插入:in sert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ' %value1% ---like 的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 《数据库原理及应用》实验报告SQL语句部分 :绩成总 实验一熟悉SQL SERVER,数据定义实验 实验一成绩: 一、实验目的 1、利用查询分析器创建数据库 2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作 二、实验步骤及内容 在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。 1.创建学生课程数据库 2.创建学生关系表S : 3.创建课程关系表C : 课程名学分先行课课程号Cno ccreditCname Cpno 4.创建课程关系表SC : 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 7、删除表S的“年龄”属性列。 8、删除S姓名列的唯一值约束。 9、修改SC表成绩属性列为精确数字型。 10、在表S上,按“Sno”属性列的唯一值方式建立索引。 11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。 三、实验结果: 1.创建学生课程数据库 ; Studend create database2.创建学生关系表S : S create table(, 9Sno CHAR()PRIMARYKEY UNIQUE,)(Sname CHAR20CHAR Ssex (2), smallint Sage , char Sdept 20(), ); .创建课程关系表C 3: 课程号课程名先行课学分 ccredit Cpno CnoCname table C create (primary key,) Cno char(4Cname CHAR(40 ),char(), 4Cpno ,Ccredit SMALLINT); 4.创建课程关系表SC : 学号课程号成绩 grade Sno Cno createtable SC(9),Sno char(),char Cno (4, Grade smallint); 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 ;datetimeadd Sbirthday alter table S 7、删除表S的“年龄”属性列。 西门子ABB等PLC专用经典SQL语句大全一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxna me on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1常用SQL语句大全
数据库SQL语句
最新SAS中的SQL语句大全
SQL查询语句大全集锦(超经典)
sql语句大全1
SAS中的SQL语句大全
经典SQL语句大全
数据库图书信息管理数据库SQL语句
数据库经典SQL语句大全
数据库基本----sql语句大全
数据库基本SQL语句大全
SQL SEVER 常用语句
数据库语言大全
数据库SQL语句实验报告
西门子ABB等PLC专用经典SQL语句大全一、基础