SQL常用命令

2022-02-06 18:03:09 字數 3520 閱讀 7747

--sql常用命令

--資料的增刪改查

--增加資料(插入資料)

insert into [表名]([字段],[字段]..) values(值,值,值..) --按需要字段填寫

insert into [表名] values(值,值,值..) --插入全部字段,自動增長列不寫

--刪除資料(記得有外來鍵先刪除主鍵表裡的相應內容)

--刪除表裡的內容

delete from [表名]

--要是想刪某一行就加where條件

delete from [表名] where [字段]=值

--修改資料(更新資料)

--修改整個表內的資料

update [表名] set [字段]=值

--要是想修改某一行就加where條件

update [表名] set [欄位1]=值1 where [欄位2]=值2

--查詢

select [字段],[字段] from [表名]

--條件查詢

select [字段],[字段] from [表名] where [字段]=值

--公升降序(一般加在查詢語句末尾)

--公升序(預設)

order by [字段] asc

--降序

order by [字段] desc

--例子

select [字段],[字段] from [表名] order by [字段] desc

--設定使用的資料庫

use [資料庫名]

--建立命令

--建立資料庫

create database [資料庫名]

on(--資料庫資訊

name='aaa', --邏輯名稱aaa

filename='d:\bbb.mdf', --物理名稱bbb(寫全路徑)

size=5mb, --資料庫初始大小

maxsize=100mb, --增長的最大值

filegrowth=15%, --增長率

)log on

(--日誌資訊

name='aaa', --邏輯名稱aaa

filename='d:\bbb.ldf', --物理名稱bbb(寫全路徑)

size=2mb, --資料庫初始大小

filegrowth=1mb, --增長率

)--建立表

create table [表名]

(--[字段] [資料型別] [列的特徵],

id int identity(1,1) not null,--identity(1,1) 是自動增長(起始值,遞增值) ,not null 是不許為空(預設允許為空)

name varchar(20) not null,

)--給表新增約束

alter table [表名]

add constraint [約束名]

--新增主鍵(pk) primary key([欄位名])

--唯一約束(uq) unique ([欄位名])

--預設約束(df) default('預設文字') for [欄位名]

--檢查約束(ck) check([欄位名] between 15 and 40) --填寫的數字在15-40之間

--外來鍵約束(fk) foreign key([欄位名]) references [表名]([欄位名])

--刪除資料庫

--exists檢查是否存在

if exists(select * from sysdatabases where name = '[要刪除的資料庫名]')

drop database [要刪除的資料庫名]

if exists(select * from sysobjects where name = '[要刪除的儲存過程名]')

drop database [要刪除的儲存過程名]

--變數的使用 (宣告和使用要一起進行不然會找不到變數)

declare @[變數名] [資料型別]

--如 declare @name varchar(8)

declare @age int

--變數賦值

set @name =值

select @name =值

--例子

--查詢資訊 查詢張三的資訊

declare @name varchar(8)

set @name = '張三'

select * from [表名] where [字段] = @name

--賦值查詢 查詢與張三同齡的人

declare @name varchar(8)

declare @age int

set @name = '張三'

select @age = [字段] from [表名] where [字段]=@name

select * from [表名] where [字段]=@age

--全域性變數 (兩個@)

@@error  最後乙個t-sql錯誤的錯誤號

@@identity 最後一次插入的標識值

@@rowcount 上乙個sql語句影響行數

--事務

--開始

begin transaction

--提交

commit transaction

--回滾

rollback transaction

--例子

begin transaction

declare @errorsum int --紀錄錯誤

@errorsum = 0    --初始化沒有錯誤

--sql語句

set @errorsum=@errorsum+@@error --累計是否出錯

--sql語句

set @errorsum=@errorsum+@@error

--sql語句

set @errorsum=@errorsum+@@error

if @errorsum <>0 --如果有錯

begin

rollback transaction

endelse

begin

commit transaction

endgo

--儲存過程

--建立

create procedure [儲存過程名]

asdeclare @xx int ,

declare @yy varchar(8) output (帶有output為輸出引數,否則視為輸入引數)

--sql語句

--sql語句

--sql語句

select @yy=值 ...

go--呼叫儲存過程

--無引數

exec [儲存過程名]  

--有引數(順序不能變,變數在儲存過程內部的值為預設值)

exec [儲存過程名] @xx=[引數],@yy=[引數]

--有輸出參

declare @yy varchar(8)

exec [儲存過程名] 值,@yy output

SQL常用命令

a b兩表,找出id欄位中,存在a表,但是不存在b表的資料。a表總共13w資料,去重後大約3w條資料,b表有2w條資料,且b表的id欄位有索引。使用 not in 容易理解,效率低 執行時間為 1.395秒 select 種類,sum 數量 from 表名 group by 種類 order by ...

SQL常用命令

返回某個表的列資訊 exec sp clomuns 表名 檢視某個表的所有資訊 exec sp help 表名 查詢資料庫中所有含有某一列的所有表 select name from sysobjects where id in select id from syscolumns where sysc...

SQL 資料常用命令

1.開啟和關閉 1.1.開啟 service mysql start 1.2.關閉 service mysql stop 1.3.重啟 service mysql restart 2.登入 2.1.密碼明文 語法 mysql u使用者名稱 p使用者密碼 舉例 mysql uroot p123456 ...