運算元據庫的常用sql指令碼

2021-09-01 22:40:53 字數 4341 閱讀 4233

1.增加字段

alter table docdsp add dspcode

char(200)

2.刪除字段

alter table table_name drop column

column_name

3.修改字段型別

alter table table_name alter column

column_name new_data_type

4.sp_rename 改名

exec sp_rename '[dbo].[table_1].[filedname1]', 'filedname2', 'column'

更改當前資料庫中使用者建立物件(如表、列或使用者定義資料型別)的名稱。

語法sp_rename [ @objname = ] 'object_name' ,[ @newname = ] 'new_name',分類資訊; [ , [ @objtype =] 'object_type' ]

如:exec sp_rename 'newname','partstock'

5.sp_help 顯示表的一些基本情況

sp_help 'object_name'

如:exec sp_help 'partstock'

6.判斷某一表partstock中欄位partvelocity是否存在

if exists (select * from syscolumns where

id=object_id('partstock') and name='partvelocity')

print

'partvelocity exists'

else print 'partvelocity not

exists'

另法:判斷表的存在性:

select count(*) from sysobjects where type='u'

and name='你的表名'

判斷欄位的存在性:

select count(*) from syscolumns

where

id = (select id from sysobjects where type='u' and name='你的表名')

and name = '你要判斷的欄位名'

乙個小例子

--假設要處理的表名為:

tb--判斷要新增列的表中是否有主鍵

if exists(select 1 from sysobjects where

parent_obj=object_id('tb') and xtype='pk')

begin

print

'表中已經有主鍵,列只能做為普通列新增'

--新增int型別的列,預設值為0

alter table tb add 列名 int default

0 end

else

begin

print '表中無主鍵,新增主鍵列'

--新增int型別的列,預設值為0

alter

table tb add 列名 int primary key default 0

end7.隨機讀取若干條記錄

access語法:select top 10 * from 表名 order by

rnd(id)

sql server:select top n * from 表名 order by newid()

mysql select * from 表名 order by rand() limit n

sql:

select * from 日程安排 where datediff(minute,f開始時間,getdate())>5

9.前10條記錄

select top 10 * form. table1 where 範圍

10.包括所有在 tablea 中但不在 tableb和tablec 中的行並消除所有重複行而派生出乙個結果表

(select a

from tablea ) except (select a from tableb) except (select a from tablec)

11.說明:隨機取出10條資料

select top 10 * from tablename order by newid()

12.列出資料庫裡所有的表名

select name from sysobjects where type=u

13.列出表裡的所有的欄位名

select name from syscolumns where

id=object_id(tablename)

14.說明:列示type、vender、pcs欄位,以type欄位排列,case可以方便地實現多重選擇,類似select

中的case。

select type,sum(case vender when a then pcs else 0

end),sum(case vender when c then pcs else 0 end),sum(case vender when b then pcs

else 0 end) from tablename group by type

15.說明:初始化表table1

truncate

table table1

16.說明:幾個高階查詢運算詞

a: union 運算子

union 運算子通過組合其他兩個結果表(例如

table1 和 table2)並消去表中任何重複行而派生出乙個結果表。當 all 隨 union 一起使用時(即 union

all),不消除重複行。兩種情況下,派生表的每一行不是來自 table1 就是來自 table2。

b: except 運算子

except 運算子通過包括所有在 table1 中但不在 table2

中的行並消除所有重複行而派生出乙個結果表。當 all 隨 except 一起使用時 (except all),不消除重複行。

c: intersect 運算子

intersect 運算子通過只包括 table1 和 table2

中都有的行並消除所有重複行而派生出乙個結果表。當 all 隨 intersect 一起使用時 (intersect

all),不消除重複行。

注:使用運算詞的幾個查詢結果行必須是一致的。

select * from (select a,b,c from a) t where

t.a > 1;

18.說明:between的用法,between限制查詢資料範圍時包括了邊界值,not between不包括

select * from

table1 where time between time1 and time2

select a,b,c, from table1

where a not between 數值1 and 數值2

19.說明:in 的使用方法

select * from table1 where a [not] in

(『值1』,』值2』,』值4』,』值6』)

20.說明:兩張關聯表,刪除主表中已經在副表中沒有的資訊

delete from table1 where not exists (

select * from table2 where table1.field1=table2.field1

)21. 說明:複製表(只複製結構,源表名:a 新錶名:b) (access可用)

法一:select * into b from a

where 1<>1

法二:select top 0 * into b from a

22.說明:拷貝表(拷貝資料,源表名:a 目標表名:b) (access可用)

insert into b(a, b, c)

select d,e,f from b;

23.說明:跨資料庫之間表的拷貝(具體資料使用絕對路徑) (access可用)

insert into b(a, b, c)

select d,e,f from b in 『具體資料庫』 where 條件

例子:..from b in

24.建立資料庫

create database database-name

25.說明:刪除資料庫

drop database dbname

26.說明:備份sql server

--- 建立

備份資料的 device

use master

exec sp_addumpdevice disk, testback,

c:\mssql7backup\mynwind_1.dat

--- 開始 備份

python運算元據庫指令碼

import pymysql class operationmysql 資料庫sql相關操作 import pymysql db pymysql.connect localhost testuser test123 testdb cursor db.cursor cursor.execute sel...

python 運算元據庫的常用SQL命令

這倆天在學習python運算元據庫的知識。其實基本sql命令是與以前學習的mysql命令一致,只是增加了一些python語句。1,安裝pymysql,並匯入。import pymysql 2,因為用的就python2,所以加上一步。conn pymysql.connect host 127.0.0....

SQL運算元據

1.sql的組成 dml 資料操作語言 插入 刪除和修改資料庫中的資料 insert update delete等 dcl 資料控制語言 用來控制儲存許可 儲存許可權等 grant revoke等 dql 資料查詢語言 用來查詢資料庫中的資料 select等 ddl 資料定義語言 用來建立資料庫 資...