日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL 笔记汇总

發布時間:2025/3/21 数据库 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL 笔记汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基本語法(增,刪,改,查) 一、新增 --1.1 增加數據的語法(增) insert into 表名 (列名,列名,...) values (值,值,...)--1.2 簡化的增加數據的語法 insert into 表名 values (值,值,...) ---注:此時值必須和表中列名對應,并且不能省略值--1.3 一次插入多行數據(增) insert into 表明 select 值,值,... --不需要小括號,此時輸入的default是無效的,必須手動填默認值 union --表示用于組合前后兩條插入語句 select 值,值,...--1.4 將現有表中的數據添加到已存在的表中(新表之前存在)(增) insert into 已存在新表名 (列名,列名) select 列名,列名, from 現有表名--1.5 將現有表中的數據添加到新表中(新表之前不存在)(增) select 列名,列名,... into 新表 from 原表二、更新數據 --2.1 更新數據(改) update 表名 set 列名=更新值,列名=更新值 where 更新條件(可省略,意思是滿足這個條件后執行更新) --2.2 更新的數據來源于其他表 UPDATE a SET a.要更新的列名=b.更新的值 from tbA a LEFT JOIN tbB b ON a.ID=b.FID -- WHERE A.Process=6--2.3 更新的數據來源于本表的其他行 屬性不同的值 UPDATE a SET a.Money=a.Money+b.Money from dbo.tb_InExpen a LEFT JOIN tb_InExpen b ON a.ManifestID=b.ManifestID WHERE A.Abstract=6 AND B.Abstract=9 三、刪除數據 --3.1 刪除數據(刪) delete from 表名 where 條件表達式 --如果滿足此條件就可以傷處--3.2 刪除數據(刪) truncate table 表名 --標的結構,列,約束,索引等不會被改動 --3.3 刪除表數據 關聯條件 DELETE FROM LEFT JOIN DELETE A FROM A LEFT JOIN B ON A.ID =B.ID LEFT JOIN C ON C.ID=B.IDD WHERE B.ID=ID OR C.ID=ID

?


四、查詢數據 --4.1 查詢一個表的所有數據(查)select * from 表名 --4.2 篩選符合條件的所有數據(查)selcet * from 表名where 條件--4.3 查詢某些列或者列的數據(查)select 列名,列名 from 表名where 條件--4.4 在查詢中使用別名(查)a). select 列名 as 別名, 列名 as 別名 from 表名where 條件b). select 別名=列名,別名=列名 from 表名where 條件--4.5 查詢為空(不為空)的數據(查)select 列名 from 表名where 列名 is null(為空)where 列名 is not null(不為空)--4.6 查詢中使用常量(查)select 列名,列名,'常量' as 別名 from 表名--4.7 查詢返回限制的行數(查)select top 行數 * from 表名select top 行數 percent * from 表名(按百分比查詢)--4.8 排序 ORDER BY DESC/ASC 降序/升序 默認為 Asc 升序select * from 表名order by 列名 (asc/desc) --無篩選條件的升序排列,asc可以省略,默認為升序 五、常用函數字符串 --5.1 查找指定字符的位置select 列名,charindex('字符',列名,起始位置)(as 別名) from 表名--5.2 replace 替換select 列名,replace(列名,'字符','替換成的') from 表名--5.3 .stuff 插入替換select 列名,stuff(列名,起始下標,修改長度,'替換成的') from 表名--5.4 長度 Len SELECT Len(字段名) FROM 表名 --中文和英文字符 都是一個長度--5.4 截取字符串SUBSTRING('要截取的字符',截取開始位置,截取結束位置)--5.5 拼接字符 變量字符類型 DECLARE @str varchar(50) SET @str='如果變量是字符類型' DECLARE @ExccSql varchar(1000) SET @ExccSql='SELECT '''+@str+''' ' EXEC (@ExccSql)--5.6 拼接字符 變量數字類型 DECLARE @i int SET @i=5201314 DECLARE @ExccSql varchar(1000) --SET @ExccSql='SELECT '''+@i+''' ' --錯誤 SET @ExccSql='SELECT '+cast(@i as varchar(10)) EXEC (@ExccSql)SELECT SUBSTRING('ABCDEFGHIJKLMN',1,2) --結果為 AB 得出結論SQL下標從一開始--常見錯數 /* 1.對象名不存在a.數據庫選擇錯誤b.表名或者列名錯誤2.不能為表'列名'中的標識插入顯示值出錯原因:不能為標識列插入值3.列名或所提供值的數目與表定義不匹配出錯原因:列的個數和值的個數不匹配4.不能在對象'表名'中插入重復鍵出錯原因:主鍵值重復5.約束"FK...."沖突,發生于"數據庫名",表"表名",列名出錯原因:外鏈引用的數據不存在6.將截斷字符串二進制數據出錯原因:超出設置長度7.約束"CK...."沖突,發生于"數據庫名"表"表名",列名出錯原因:數據違背了檢查約束8.***附近有錯誤出錯原因:語法錯誤或者是符號錯誤 */

?

--六 約束 --6.1 創建完表以后添加多列 唯一約束 UNIQUE ALTER TABLE YFCarryover ADD CONSTRAINT uc_salvType UNIQUE (psid,salvType)

?

--修改自增列 標識種子 DECLARE @MaxID INT SET @MaxID=(SELECT MAX(ID) FROM cc1) DBCC CHECKIDENT(cc1, RESEED,@MaxID )

?

轉載于:https://www.cnblogs.com/suqifeng/p/3402311.html

總結

以上是生活随笔為你收集整理的SQL 笔记汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。