基本語法(增,刪,改,查)一、新增
--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=
6and 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
notnull
(不為空)
--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
@iint
set@i
=5201314
declare
@exccsql
varchar(1000)--
set @exccsql='select '''+@i+''' ' --錯誤
set@exccsql='
select '+
cast(@i
asvarchar(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
addconstraint uc_salvtype unique (psid,salvtype)
--修改自增列 標識種子
declare
@maxid
intset
@maxid
=(select
max(id) from
cc1)
dbcc checkident(cc1, reseed,@maxid )
sql月度彙總 sql月份彙總查詢語句
sql月份彙總查詢語句 select 鉛筆 as 月份 sum case month 日期 when 1 then 鉛筆 else 0 end as 1月 sum case month 日期 when 2 then 鉛筆 else 0 end as 2月 sum case month 日期 when...
SQL語句彙總
檢視oracle伺服器端字符集 select from nls database parameters 檢視oracle客戶端字符集 select from nls instance parameters 全庫匯出資料 exp 使用者名稱 密碼 遠端的ip 埠 例項 file 存放的位置 檔名稱.d...
SQL語句彙總
sql語句彙總 一 資料庫 1.建立資料庫 create database name 2.檢視資料庫 show databases 3.選擇資料庫 use name 4.刪除資料庫庫 drop database name 二 表 1.建立表 create table name 屬性名 資料型別 屬性...