博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL常用语句
阅读量:5054 次
发布时间:2019-06-12

本文共 11073 字,大约阅读时间需要 36 分钟。

1   1 SQL语句集锦  2   2 --语 句                                功 能  3   3 --数据操作  4   4 SELECT      --从数据库表中检索数据行和列  5   5 INSERT      --向数据库表添加新数据行  6   6 DELETE      --从数据库表中删除数据行  7   7 UPDATE      --更新数据库表中的数据  8   truncate table 表  --//删除表中数据  9  10   8 --数据定义 11   9 CREATE TABLE    --创建一个数据库表 12  10 DROP TABLE     --从数据库中删除表 13  11 ALTER TABLE     --修改数据库表结构 14  12 CREATE VIEW     --创建一个视图 15  13 DROP VIEW     --从数据库中删除视图 16  14 CREATE INDEX    --为数据库表创建一个索引 17  15 DROP INDEX     --从数据库中删除索引 18  16 CREATE PROCEDURE   --创建一个存储过程 19  17 DROP PROCEDURE    --从数据库中删除存储过程 20  18 CREATE TRIGGER    --创建一个触发器 21  19 DROP TRIGGER    --从数据库中删除触发器 22  20 CREATE SCHEMA    --向数据库添加一个新模式 23  21 DROP SCHEMA     --从数据库中删除一个模式 24  22 CREATE DOMAIN    --创建一个数据值域 25  23 ALTER DOMAIN    --改变域定义 26  24 DROP DOMAIN     --从数据库中删除一个域 27  25 --数据控制 28  26 GRANT      --授予用户访问权限 29  27 DENY      --拒绝用户访问 30  28 REVOKE      --解除用户访问权限 31  29 --事务控制 32  30 COMMIT      --结束当前事务 33  31 ROLLBACK     --中止当前事务 34  32 SET TRANSACTION    --定义当前事务数据访问特征 35  33 --程序化SQL 36  34 DECLARE      --为查询设定游标 37  35 EXPLAN      --为查询描述数据访问计划 38  36 OPEN      --检索查询结果打开一个游标 39  37 FETCH      --检索一行查询结果 40  38 CLOSE      --关闭游标 41  39 PREPARE      --为动态执行准备SQL 语句 42  40 EXECUTE      --动态地执行SQL 语句 43  41 DESCRIBE     --描述准备好的查询 44  42  45  43  46  44 ---局部变量 47  45 declare @id char(10) 48  46 --set @id = '10010001' 49  47 select @id = '10010001' 50  48  51  49 ---全局变量 52  50 ---必须以@@开头 53  51  54  52 --IF ELSE 55  53 declare @x int @y int @z int 56  54 select @x = 1 @y = 2 @z=3 57  55 if @x > @y 58  56  print 'x > y' --打印字符串'x > y' 59  57 else if @y > @z 60  58  print 'y > z' 61  59 else print 'z > y' 62  60  63  61 --CASE 64  62 use pangu 65  63 update employee 66  64 set e_wage = 67  65  case 68  66   when job_level = ’1’ then e_wage*1.08 69  67   when job_level = ’2’ then e_wage*1.07 70  68   when job_level = ’3’ then e_wage*1.06 71  69   else e_wage*1.05 72  70  end 73  71  74  72 --WHILE CONTINUE BREAK 75  73 declare @x int @y int @c int 76  74 select @x = 1 @y=1 77  75 while @x < 3 78  76  begin 79  77   print @x --打印变量x 的值 80  78   while @y < 3 81  79    begin 82  80     select @c = 100*@x + @y 83  81     print @c --打印变量c 的值 84  82     select @y = @y + 1 85  83    end 86  84   select @x = @x + 1 87  85   select @y = 1 88  86  end 89  87  90  88 --WAITFOR 91  89 --例 等待1 小时2 分零3 秒后才执行SELECT 语句 92  90 waitfor delay ’01:02:03’ 93  91 select * from employee 94  92 --例 等到晚上11 点零8 分后才执行SELECT 语句 95  93 waitfor time ’23:08:00’ 96  94 select * from employee 97  95  98  96   99  97 100  98 ***SELECT***101  99 102 100    select *(列名) from table_name(表名) where column_name operator value103 101    ex:(宿主)104 102   select * from stock_information where stockid   = str(nid)105 103      stockname = 'str_name' 106 104      stockname like '% find this %' 107 105      stockname like '[a-zA-Z]%' --------- ([]指定值的范围)108 106      stockname like '[^F-M]%'   --------- (^排除指定范围)109 107      --------- 只能在使用like关键字的where子句中使用通配符)110 108      or stockpath = 'stock_path'111 109      or stocknumber < 1000112 110      and stockindex = 24113 111      not stocksex = 'man'114 112      stocknumber between 20 and 100115 113      stocknumber in(10,20,30)116 114      order by stockid desc(asc) --------- 排序,desc-降序,asc-升序117 115      order by 1,2 --------- by列号118 116      stockname = (select stockname from stock_information  where stockid  = 4)119 117      --------- 子查询120 118      --------- 除非能确保内层select只返回一个行的值,121 119      --------- 否则应在外层where子句中用一个in限定符122 120   select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复123 121   select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name124 122   select stockname , "stocknumber" = count(*) from table_name group by stockname125 123                                       --------- group by 将表按行分组,指定列中有相同的值126 124           having count(*) = 2  ---------  having选定指定的组127 125         128 126   select * 129 127   from table1, table2                  130 128   where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示131 129      table1.id =* table2.id -------- 右外部连接 132 130 133 131 134 132 select stockname from table1135 133   union [all]  -----  union合并查询结果集,all-保留重复行136 134   select stockname from table2137 135 138 136 ***insert***139 137 140 138   insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")141 139               value (select Stockname , Stocknumber from Stock_table2)---value为select语句142 140 143 141 ***update***144 142 145 143   update table_name set Stockname = "xxx" [where Stockid = 3]146 144          Stockname = default147 145          Stockname = null148 146          Stocknumber = Stockname + 4149 147 150 148 ***delete***151 149 152 150   delete from table_name where Stockid = 3153 151   truncate table_name ----------- 删除表中所有行,仍保持表的完整性154 152   drop table table_name --------------- 完全删除表155 153 156 154 ***alter table*** --- 修改数据库表结构157 155 158 156   alter table database.owner.table_name add column_name char(2) null .....159 157   sp_help table_name ---- 显示表已有特征160 158   create table table_name (name char(20), age smallint, lname varchar(30))161 159   insert into table_name select ......... ----- 实现删除列的方法(创建新表)162 160   alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束163 161     164 162 ***function(/*常用函数*/)***165 163 166 164 ----统计函数----167 165 AVG    --求平均值168 166 COUNT   --统计数目169 167 MAX    --求最大值170 168 MIN    --求最小值171 169 SUM    --求和172 170 173 171 174 172 175 173 --AVG176 174 use pangu177 175 select avg(e_wage) as dept_avgWage178 176 from employee179 177 group by dept_id180 178 181 179 --MAX182 180 --求工资最高的员工姓名183 181 use pangu184 182 select e_name185 183 from employee186 184 where e_wage =187 185  (select max(e_wage)188 186   from employee)189 187 190 188 --STDEV()191 189 --STDEV()函数返回表达式中所有数据的标准差192 190 193 191 --STDEVP()194 192 --STDEVP()函数返回总体标准差195 193 196 194 --VAR()197 195 --VAR()函数返回表达式中所有值的统计变异数198 196 199 197 --VARP()200 198 --VARP()函数返回总体变异数201 199 202 200 ----算术函数----203 201 204 202 /***三角函数***/205 203 SIN(float_expression) --返回以弧度表示的角的正弦206 204 COS(float_expression) --返回以弧度表示的角的余弦207 205 TAN(float_expression) --返回以弧度表示的角的正切208 206 COT(float_expression) --返回以弧度表示的角的余切209 207 /***反三角函数***/210 208 ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角211 209 ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角212 210 ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角213 211 ATAN2(float_expression1,float_expression2) 214 212         --返回正切是float_expression1 /float_expres-sion2的以弧度表示的角215 213 DEGREES(numeric_expression)216 214                        --把弧度转换为角度返回与表达式相同的数据类型可为217 215         --INTEGER/MONEY/REAL/FLOAT 类型218 216 RADIANS(numeric_expression) --把角度转换为弧度返回与表达式相同的数据类型可为219 217         --INTEGER/MONEY/REAL/FLOAT 类型220 218 EXP(float_expression)  --返回表达式的指数值221 219 LOG(float_expression)  --返回表达式的自然对数值222 220 LOG10(float_expression)--返回表达式的以10 为底的对数值223 221 SQRT(float_expression) --返回表达式的平方根224 222 /***取近似值函数***/225 223 CEILING(numeric_expression)  --返回>=表达式的最小整数返回的数据类型与表达式相同可为226 224         --INTEGER/MONEY/REAL/FLOAT 类型227 225 FLOOR(numeric_expression)    --返回<=表达式的最小整数返回的数据类型与表达式相同可为228 226         --INTEGER/MONEY/REAL/FLOAT 类型229 227 ROUND(numeric_expression)    --返回以integer_expression 为精度的四舍五入值返回的数据230 228         --类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型231 229 ABS(numeric_expression)      --返回表达式的绝对值返回的数据类型与表达式相同可为232 230         --INTEGER/MONEY/REAL/FLOAT 类型233 231 SIGN(numeric_expression)     --测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型234 232         --与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型235 233 PI()       --返回值为π 即3.1415926535897936236 234 RAND([integer_expression])   --用任选的[integer_expression]做种子值得出0-1 间的随机浮点数237 235 238 236 239 237 240 238 ----字符串函数----241 239 ASCII()         --函数返回字符表达式最左端字符的ASCII 码值242 240 CHAR()   --函数用于将ASCII 码转换为字符243 241     --如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值244 242 LOWER()   --函数把字符串全部转换为小写245 243 UPPER()   --函数把字符串全部转换为大写246 244 STR()   --函数把数值型数据转换为字符型数据247 245 LTRIM()   --函数把字符串头部的空格去掉248 246 RTRIM()   --函数把字符串尾部的空格去掉249 247 LEFT(),RIGHT(),SUBSTRING()  --函数返回部分字符串250 248 CHARINDEX(),PATINDEX()  --函数返回字符串中某个指定的子串出现的开始位置251 249 SOUNDEX()  --函数返回一个四位字符码 252 250     --SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值     253 251 DIFFERENCE()    --函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异254 252     --0 两个SOUNDEX 函数返回值的第一个字符不同255 253     --1 两个SOUNDEX 函数返回值的第一个字符相同256 254     --2 两个SOUNDEX 函数返回值的第一二个字符相同257 255     --3 两个SOUNDEX 函数返回值的第一二三个字符相同258 256     --4 两个SOUNDEX 函数返回值完全相同259 257                                        260 258 261 259 QUOTENAME()  --函数返回被特定字符括起来的字符串262 260 /*select quotename('abc', '{') quotename('abc')263 261 运行结果如下264 262 ----------------------------------{265 263 {abc} [abc]*/266 264 267 265 REPLICATE()     --函数返回一个重复character_expression 指定次数的字符串268 266 /*select replicate('abc', 3) replicate( 'abc', -2)269 267 运行结果如下270 268 ----------- -----------271 269 abcabcabc NULL*/272 270 273 271 REVERSE()       --函数将指定的字符串的字符排列顺序颠倒274 272 REPLACE()       --函数返回被替换了指定子串的字符串275 273 /*select replace('abc123g', '123', 'def')276 274 运行结果如下277 275 ----------- -----------278 276 abcdefg*/279 277 280 278 281 279 SPACE()   --函数返回一个有指定长度的空白字符串282 280 STUFF()   --函数用另一子串替换字符串指定位置长度的子串283 281 284 282 285 283 ----数据类型转换函数----286 284 CAST() 函数语法如下287 285 CAST() (
AS
[ length ])288 286 CONVERT() 函数语法如下289 287 CONVERT() (
[ length ],
[, style])290 288 291 289 select cast(100+99 as char) convert(varchar(12), getdate())292 290 运行结果如下293 291 ------------------------------ ------------294 292 199 Jan 15 2000295 293 296 294 ----日期函数----297 295 DAY() --函数返回date_expression 中的日期值298 296 MONTH() --函数返回date_expression 中的月份值299 297 YEAR() --函数返回date_expression 中的年份值300 298 DATEADD(
,
,
) 301 299 --函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期302 300 DATEDIFF(
,
,
)303 301 --函数返回两个指定日期在datepart 方面的不同之处304 302 DATENAME(
,
) --函数以字符串的形式返回日期的指定部分305 303 DATEPART(
,
) --函数以整数值的形式返回日期的指定部分306 304 GETDATE() --函数以DATETIME 的缺省格式返回系统当前的日期和时间307 305 308 306 ----系统函数----309 307 APP_NAME() --函数返回当前执行的应用程序的名称310 308 COALESCE() --函数返回众多表达式中第一个非NULL 表达式的值311 309 COL_LENGTH(<'table_name'>, <'column_name'>) --函数返回表中指定字段的长度值312 310 COL_NAME(
,
) --函数返回表中指定字段的名称即列名313 311 DATALENGTH() --函数返回数据表达式的数据的实际长度314 312 DB_ID(['database_name']) --函数返回数据库的编号315 313 DB_NAME(database_id) --函数返回数据库的名称316 314 HOST_ID() --函数返回服务器端计算机的名称317 315 HOST_NAME() --函数返回服务器端计算机的名称318 316 IDENTITY(
[, seed increment]) [AS column_name])319 317 --IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中320 318 /*select identity(int, 1, 1) as column_name321 319 into newtable322 320 from oldtable*/323 321 ISDATE() --函数判断所给定的表达式是否为合理日期324 322 ISNULL(
,
) --函数将表达式中的NULL 值用指定值替换325 323 ISNUMERIC() --函数判断所给定的表达式是否为合理的数值326 324 NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值327 325 NULLIF(
,
)328 326 --NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值

 

转载于:https://www.cnblogs.com/zeng-qh/p/9163240.html

你可能感兴趣的文章
BZOJ1692: [Usaco2007 Dec]队列变换
查看>>
《POINTERS ON C》(基于ANSI C)知识点及附带问题(三)
查看>>
leetcode dp
查看>>
简单回射程序小结
查看>>
iOS - 通过UIActivityViewController分享APP内容
查看>>
阿里云云主机挂载数据盘,格式化硬盘(新购云主机)(转)
查看>>
JSON与JavaBean、XML之间的转换
查看>>
腾讯视频qlv格式转换mp4普通视频方法
查看>>
Maven中classifier
查看>>
Use Laravel/homestead 环境维护基于 brophp 开发的老项目
查看>>
测绘软件优缺点
查看>>
SQL优化(SQL TUNING)可大幅提升性能的实战技巧之一——让计划沿着索引跑
查看>>
pyhton自动化项目编码以及命名规范
查看>>
会声会影毛玻璃制作
查看>>
webmagic循环爬取
查看>>
用UltraEdit比較两个文件
查看>>
CCAccelerometerDelegate
查看>>
cocos2d-x游戏开发系列教程-坦克大战游戏之坦克和地图碰撞的检测下
查看>>
简单的sql注入
查看>>
c3p0连接池和dbutils的使用
查看>>