SqlServer基本语法和语句大全_B/S开发框架
数据操作类
SELECT --查询 INSERT --插入 DELETE --删除 UPDATE --更新
数据定义类
CREATE TABLE --创建表 DROP TABLE --删除表
MySQL学习地址:MySQL常用语法和语句大全_B/S开发框架 数据操作类 SELECT --查询 INSERT --插入 DELETE --删除 UPDATE --更新 数据定义类 CREATE TABLE --创建表 DROP TABLE --删除表 ALTER TABLE --修改表结构 CREATE INDEX --创建索引 DROP INDEX --删除索引 CREATE VIEW --创建视图 DROP VIEW --删除视图 CREATE PROCEDURE --创建存储过程 DROP PROCEDURE --删除存储过程 统计函数 AVG --求平均值 MAX --求最大值 MIN --求最小值 COUNT --统计数目 SUM --求和 事务 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征 日期函数 GetDate()--获取当时时间 YEAR()--年份值 MONTH()--月份值 DAY()--日期值DATEADD( datepart, number,date)--在日期中添加或减去指定的时间间隔 DATEDIFF(datepart ,startdate ,enddate)--函数返回两个指定日期之间的时间 DATENAME(XX , Date)--函数以字符串的形式返回日期的指定部分 DATEPART( datepart,date )--返回日期/时间的单独部分。 游标 DECLARE --为查询设定游标 EXPLAN --为查询描述数据访问计划 OPEN --检索查询结果打开一个游标 FETCH --检索一行查询结果 CLOSE --关闭游标 PREPARE --为动态执行准备SQL 语句 EXECUTE --动态地执行SQL 语句 DESCRIBE --描述准备好的查询 上面介绍了基本语句关键词,在B/S开发框架中,应用了大量的数据库知识,下面我来看看数据库的一些常用和高级的sql语句。 常识 1、创建数据库 CREATE DATABASEdbname 2、删除数据库 drop database dbname 3、备份 --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'dbback', 'd:\sqlbackup\dbname.dat' --- 开始 备份 BACKUP DATABASE pubs TO dbback 4、创建表 create table tabname(col1 type1 [not null][primary key],col2 type2 [not null],..) 复制表结构: A:createtable newtable like oldtabe (复制表结构) B:createtable newtable as select coloum1,coloum2,coloum3,… from oldtable definition only 5、删除表 drop table tablename 6、增加列 Alter table tablename add column columnname type 7、添加主键: Alter table tablename add primarykey(columnname) 删除主键: Alter table tablename drop primary key(columnname) 8、创建索引:create[unique] index indexname on tablename(columnname….) 删除索引:drop index indexname 注:索引是不可更改的,想更改必须删除重新建。 9、创建视图:create view viewname as select statement 删除视图:drop view viewname 10、基本的sql语句集 插入:insert into table(field1,field2) values(value1,value2) 删除:delete from table where ... 更新:update table set field=valuewhere ... 选择:select * from tablewhere ... 查找:select * from tablewhere fieldlike ’%value%’ ---模糊查找 总数:select count(1)as totalcount from table 最大:select max(field) as maxvfrom table 最小:select min(field) as minvfrom table 求和:select sum(field) as sumvfrom table 平均:select avg(field) as avgvfrom table 11、三个逻辑运算符 A: UNION并集运算符 UNION 多个表数据集合去重后结果表,带ALL不去重复行,表的数据并集。 B: EXCEPT 不包含运算符 A表 EXCEPT B表,表示包括在A表中但不在B表中的行并去掉重复行的出结果表,带 ALL 不去除重复行。 C: INTERSECT 交集运算符(去重) A表INTERSECT B表,表示A、B表公共部分并去掉重复行的结果表。带 ALL不去重复行。 12、内连接和外连接 A、left (outer) join: 左外连接(左连接):左表数据全部保留,右表数据只保留连接条件过滤后的数据。 SQL: select A.a, a.b, a.c, b.c, b.d, b.f from A LEFT JOIN B ON A.a = B.c B:full/cross (outer) join: 全外连接:两个连接表中的所有记录。 13、Order by 和 Group by: Order by按照条件来进行正序和逆序排序。 根据group by中条件来分成若干组,然后进行统计,必须带分组统计函数:count,sum,max,min,avg等。 14、where 后 1=1mssql复制表,1=2,11 “1=1” 是表示选择全部, “1=2”全部不选,“11”全部不选 15:获取当前数据库中的所有用户表 select Name from sysobjects where xtype='u' and status>=0 16:获取某一个表的所有字段 select name from syscolumns where id=object_id('表名') select name from syscolumns where id in (select id from sysobjects where type = 'u' and name = '表名') 两种方式的效果相同 17:查看当前数据库中所有存储过程 select name as 存储过程名称 from sysobjects wherextype='P' 18:查询某一个表的字段和数据类型 select column_name,data_type from information_schema.columns where table_name = '表名' 下面为B/S开发框架数据库语句高级进阶知识分享 进阶 1、子查询(表名1:a 表名2:b) select a,b,c from a where a IN (select d from b ) 或 select a,b,c from a where a IN (...) 2、between,between查询数据范围内的结果集,查询数据范围时包括了边界值,not between不在数据范围内的结果集。 select * from table where a between '值1' and '值2' select * from table where a not between ‘数值1‘ and ‘数值2’ 3、in,表是在数据范围内的结果集, not in 反之。 select * from table where a in (‘值1’,’值2’,’值3’,’值4’,’值5’) 4、两张关联表,删除表1中已经在表2中没有的信息 delete from table1 where not exists (select * from table2 where table1.field1=table2.field1 ) 5、多表内连接查询公共数据: select * from A join B on A.a=B.a join C on A.a=C.a where... 6、复制表(只复制表结构,源表名:a 新表名:b) select * into b from a where 11(仅用于SQL Server) or select top 0 * into b from a 7、拷贝表(拷贝数据,源表名:a 目标表名:b) insert into b(a, b, c) select d,e,f from b; 8、跨数据库之间表的拷贝(具体数据使用绝对路径) insert into b(a, b, c) select d,e,f from bin ‘具体数据库’ where ... 例子:..from b in'"&Server.MapPath(".")&"\data.mdb"&"' where... 9、前n条记录 select top n * form table where... 10、删除表或者表数据 TRUNCATE TABLE tablename --清空表,不留痕迹 Delete from TABLE tablename --仅仅删除数据 drop tabel tablename --删除表,包括表结构 11、选择从第m到第n条记录的结果集 select top (n-m) * from (select top n * from tablename order by id asc) table order by id desc 12、随机选择记录 select newid() 13、随机取出n条数据 select top n * from tablename order by newid() 14、删除重复记录,请用查询分析器分析性能开销! 1)delete from tablename where id not in (select max(id) from tablename group by column1,column2,column3...) 2)select distinct * into temp from tablename; delete from tablename; insert into tablename select* from temp; 15、case when then使用 select type,(case columnname when 'xx' then 'oo'when 'xxx' then 'ooo'else 'over' end) FROM tablename (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |