SqlServer編寫數(shù)據(jù)庫(kù)表的操作方式(建庫(kù)、建表、修改語句)
學(xué)習(xí)要點(diǎn):
SQL之-建庫(kù)、建表、建約束、關(guān)系SQL基本語句大全.txt舉得起放得下叫舉重,舉得起放不下叫負(fù)重。頭要有勇氣,抬頭要有底氣。學(xué)習(xí)要加,驕傲要減,機(jī)會(huì)要乘,懶惰要除。人生三難題:思,相思,單相思。
SQL之-建庫(kù)、建表、建約束、關(guān)系、部分T-sql語句
---創(chuàng)建庫(kù) 創(chuàng)建庫(kù)之前 先進(jìn)行 查看數(shù)據(jù)庫(kù)中是否 已存在 次數(shù)據(jù)庫(kù) 有便刪除 --- if exists(select * from sys.sysdatabases where name='ConstructionDB')begin use master drop database ConstructionDB end go create database ConstructionDB on() if exists(select * from sysobjects where name ='ConstructionDB') --查找命令 drop DATABASE ConstructionDB --刪除 命令 Create database ConstructionDB on( name='ConstructionDB_date', filename='E:\技能抽查試題第二模塊(數(shù)據(jù)庫(kù))\試題——1\任務(wù)一\ConstructionDB_date.mdf', size=3mb, maxsize=10mb, filegrowth=5% --增長(zhǎng)速度為 ) log on( name='ConstructionDB_log', filename='E:\技能抽查試題第二模塊(數(shù)據(jù)庫(kù))\試題——1\任務(wù)一\ConstructionDB_date.ldf', size=2mb, maxsize=5mb, filegrowth=1mb ) --使用T-SQL語句創(chuàng)建表 use ConstructionDB go ---查詢 庫(kù)中是否存在 此表 存在則刪除 if exists(select * from sysobjects where name = 'T_flow_step_def') drop table T_flow_step_def --- 方法二 IF OBJECT_ID (N'bas_CardType') IS NULL BEGIN --如果不存在該表,則進(jìn)行創(chuàng)建 --drop table com_CodeRecord --流程步驟定義表 create table T_flow_step_def( Step_no int not null, --流程步驟ID Step_name varchar(30) not null, --流程步驟名稱 Step_des varchar(64) not null, --流程步驟描述 Limit_time int not null, --時(shí)限 URL varchar(64) not null, --二級(jí)菜單鏈接 備注 varchar(256) not null, ) ---流程類別表 create table T_flow_type( Flow_type_id char(3) not null, --流程類別號(hào) Flow_type_name varchar(64) not null, --流程類別名稱 In_method_id char(3) not null, --招標(biāo)方式代號(hào) In_choice_id char(3) not null, --項(xiàng)目選項(xiàng)代號(hào) 備注 varchar(256) not null, ) ---標(biāo)段情況表 create table T_sub_project( Project_id varchar(32) not null, ---工程編號(hào) Sub_pro_id char(2) not null, -- 標(biāo)段編號(hào) Flow_type_id char(3) not null, --流程類別號(hào) Sub_pro_name varchar(64) not null,--標(biāo)段名稱(招標(biāo)項(xiàng)目名稱) Usb_no varchar(64) not null, --密碼鎖號(hào) In_method_id char(3) not null, --招標(biāo)方式代號(hào) In_scope_id char(3) not null, --招標(biāo)范圍代號(hào) In_choice_id char(3) not null, --項(xiàng)目選項(xiàng)代號(hào) Proj_type_id char(3) not null, --項(xiàng)目性質(zhì)代號(hào) Engi_type_id char(1) not null, --工程性質(zhì)代號(hào) Pack_type char(1) not null, ---發(fā)包方式 Grade_type_idv char(1) not null,--評(píng)分類別號(hào) Flag_done char(1) not null,--完成標(biāo)志 Flag_forcebreak char(1) not null,--強(qiáng)制中斷標(biāo)志 備注 varchar(256) not null, ) --創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)名為‘sql_test' create database sql_test go --打開數(shù)據(jù)庫(kù) sql_test use sql_test go --建立學(xué)生表 create table 學(xué)生 (學(xué)生編號(hào) char(4) primary key, 學(xué)生名字 varchar(50)not null) go --修改學(xué)生表 alter table 學(xué)生 add 班級(jí)編號(hào) char(4) null --添加班級(jí)編號(hào)字段 -- (注意如果添加的字段不為空的話,是不能被添加的) go --建立班級(jí)表 create table 班級(jí) (班級(jí)編號(hào) char(4) primary key ,班級(jí)名稱 varchar(50)not null) go --建立課程表 create table 課程 (課程編號(hào) char(4) primary key ,課程名稱 varchar(50) not null,開課日期 datetime ) go --修改課程表 alter table 課程 add 課程代號(hào) varchar(10) null --添加課程代號(hào)字段 go alter table 課程 drop column 開課日期 --刪除開課日期字段 go alter table 課程 alter column 課程名稱 varchar(20) not null --修改課程名稱字段 go --建立一個(gè)product_test_one 表,與下個(gè)表類似,只不過在constraint前面有個(gè)‘逗號(hào)'不影響執(zhí)行 create table product_test_one ( id char(10) not null, name varchar(20) null, price money default 20.5,quantity smallint null, constraint pk_id primary key clustered (id) ) go --建立一個(gè)product_test_two 表 create table product_test_two ( id char(10) not null, name varchar(20) null, price money default 20.5,quantity smallint null constraint pk_id2 primary key clustered (id) ) go --刪除表 pruduct_test_one表 drop table product_test_one go --建立一個(gè)student表,使其中的 name 字段具有唯一性 create table student ( id char(8), name char(10) --表字段 constraint pk_id primary key (id), --添加一個(gè)主鍵約束 constraint uk_name unique (name) --添加一個(gè)唯一性約束 ) go --建立一個(gè)student4表,同上 (注意:constraint 與constraint 之間一定要有逗號(hào),否則出錯(cuò)!) create table student4 ( id char(8), name char(10) --表字段 constraint pk_id4 primary key (id), constraint uk_name4 unique (name) ) go -- 刪除表student4 drop table student4 go --建立一個(gè)student3表,同上 create table student3 ( id char(8), name char(10), --表字段 constraint pk_id3 primary key (id) ,constraint uk_name3 unique (name) ) go --刪除表student3 drop table student3 go --constraint 約束名 check(邏輯條件表達(dá)式) --創(chuàng)建一個(gè)‘員工‘表,使其輸入的性別字段(sex)只能接受‘m'或則‘f',而不能接受其他數(shù)據(jù) --并且為phone字段創(chuàng)建檢查約束,限制只能輸入類似0108564712之類的數(shù)據(jù),而不能隨意輸入其他數(shù)據(jù) create table 員工 ( id char(5),name char(20),sex char(2),phone int constraint pk_zid primary key (id), --此間一定要有‘逗號(hào)'分隔 ,定義主鍵約束 constraint chk_sex check (sex in (‘f‘,‘m‘) ), constraint chk_phone check (phone like ‘(010) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]‘) ) go --constraint 約束名 default 約束表達(dá)式 [for 字段名] -- 創(chuàng)建一個(gè)表‘默認(rèn)約束',為字段sex創(chuàng)建默認(rèn)約束 create table 默認(rèn)約束 ( id char(5) primary key ,sex varchar(2) constraint con_sex default ‘m‘ ) go --修改‘默認(rèn)約束'表 alter table 默認(rèn)約束 add name varchar(10)null constraint con_name default ‘你好寶貝‘ --增加一個(gè)字段為‘name',默認(rèn)值為‘你好寶貝' go --往班級(jí)表里添加8條記錄 insert into 班級(jí) values(‘bj01‘,‘一班‘) insert into 班級(jí) values(‘bj02‘,‘二班‘) insert into 班級(jí) values(‘bj03‘,‘三班‘) insert into 班級(jí) values(‘bj04‘,‘四班‘) insert into 班級(jí) values(‘bj05‘,‘五班‘) insert into 班級(jí) values(‘bj06‘,‘六班‘) insert into 班級(jí) values(‘bj07‘,‘七班‘) insert into 班級(jí) values(‘bj08‘,‘八班‘) go --顯示班級(jí)所以記錄 select * from 班級(jí) go --刪除班級(jí)表里班級(jí)編號(hào)大于bj06的記錄 delete from 班級(jí) where 班級(jí)編號(hào)>‘bj06‘ go --顯示班級(jí)所以記錄 select * from 班級(jí) go --向?qū)W生表里添加記錄 insert into 學(xué)生 values(‘xs01‘,‘one‘,‘bj01‘) insert into 學(xué)生 values(‘xs02‘,‘two‘,‘bj01‘) insert into 學(xué)生 values(‘xs03‘,‘three‘,‘bj01‘) insert into 學(xué)生 values(‘xs04‘,‘four‘,‘bj02‘) insert into 學(xué)生 values(‘xs05‘,‘five‘,‘bj03‘) insert into 學(xué)生 values(‘xs06‘,‘six‘,‘bj02‘) insert into 學(xué)生 values(‘xs07‘,‘seven‘,‘bj04‘) insert into 學(xué)生 values(‘xs08‘,‘eight‘,‘bj03‘) insert into 學(xué)生 values(‘xs09‘,‘nine‘,‘bj04‘) insert into 學(xué)生 values(‘xs10‘,‘ten‘,‘bj05‘) insert into 學(xué)生 values(‘xs11‘,‘eleven‘,‘bj06‘) insert into 學(xué)生 values(‘xs12‘,‘twleve‘,‘bj06‘) go --顯示學(xué)生所有的記錄 select * from 學(xué)生 go --連接查詢 select * from 學(xué)生,班級(jí) where 學(xué)生.班級(jí)編號(hào)=班級(jí).班級(jí)編號(hào) go --以下效果同上一條相同 --選擇的連接查詢 select 學(xué)生.學(xué)生編號(hào),班級(jí).班級(jí)編號(hào), 學(xué)生.學(xué)生名字,班級(jí).班級(jí)名稱 from 學(xué)生,班級(jí) where 學(xué)生.班級(jí)編號(hào)=班級(jí).班級(jí)編號(hào) go --以下效果同上一條相同 --查詢一班的學(xué)生 select* from 學(xué)生 where 班級(jí)編號(hào) in(select 班級(jí)編號(hào) from 班級(jí) where 班級(jí)編號(hào)=‘bj01‘) go --與上面一條查詢語句一樣功能 select a.學(xué)生編號(hào),a.學(xué)生名字,a.班級(jí)編號(hào) from 學(xué)生 as a ,班級(jí) as b where a.班級(jí)編號(hào)=b.班級(jí)編號(hào) and b.班級(jí)編號(hào)=‘bj01‘ go --統(tǒng)計(jì)一班學(xué)生人數(shù) select count(學(xué)生編號(hào))as 學(xué)生統(tǒng)計(jì) from 學(xué)生 where 班級(jí)編號(hào) in(select 班級(jí)編號(hào) from 班級(jí) where 班級(jí)編號(hào)=‘bj01‘) go --group的用法和count()函數(shù)的用法 --統(tǒng)計(jì)一班學(xué)生人數(shù),并顯示學(xué)生的名字和所在班級(jí) select count(學(xué)生編號(hào))as 學(xué)生統(tǒng)計(jì), 學(xué)生名字,班級(jí)編號(hào) from 學(xué)生 where 班級(jí)編號(hào) in(select 班級(jí)編號(hào) from 班級(jí) where 班級(jí)編號(hào)=‘bj01‘) group by 班級(jí)編號(hào),學(xué)生名字 go
以上所述是小編給大家介紹的SqlServer編寫數(shù)據(jù)庫(kù)表的操作方式(建庫(kù)、建表、修改語句),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- SqlServer中如何解決session阻塞問題
- SqlServer 英文單詞全字匹配詳解及實(shí)現(xiàn)代碼
- C#訪問SQLServer增刪改查代碼實(shí)例
- SqlServer查詢和Kill進(jìn)程死鎖的語句
- 獲取SqlServer存儲(chǔ)過程定義的三種方法
- SQLServer主鍵和唯一約束的區(qū)別
- SqlServer存儲(chǔ)過程實(shí)現(xiàn)及拼接sql的注意點(diǎn)
- win2008 r2 服務(wù)器php+mysql+sqlserver2008運(yùn)行環(huán)境配置(從安裝、優(yōu)化、安全等)
- SQLSERVER簡(jiǎn)單創(chuàng)建DBLINK操作遠(yuǎn)程服務(wù)器數(shù)據(jù)庫(kù)的方法
- SqlServer2008誤操作數(shù)據(jù)(delete或者update)后恢復(fù)數(shù)據(jù)的方法
- sql server 自定義分割月功能詳解及實(shí)現(xiàn)代碼
相關(guān)文章
圖書管理系統(tǒng)的sqlserver數(shù)據(jù)庫(kù)設(shè)計(jì)示例
這篇文章主要介紹了圖書管理系統(tǒng)的sqlserver數(shù)據(jù)庫(kù)設(shè)計(jì)示例,文中通過E_R圖、數(shù)據(jù)字典、數(shù)據(jù)庫(kù)腳本代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08SQLSERVER語句的執(zhí)行時(shí)間顯示的統(tǒng)計(jì)結(jié)果是什么意思
在SQL語句調(diào)優(yōu)的時(shí)候,大部分都會(huì)查看語句執(zhí)行時(shí)間,究竟SQLSERVER顯示出來的統(tǒng)計(jì)結(jié)果是什么意思,接下來為您一一解釋,感興趣的朋友可以了解下2013-01-01刪除sqlserver數(shù)據(jù)庫(kù)日志和沒有日志的數(shù)據(jù)庫(kù)恢復(fù)辦法
這篇文章主要介紹了刪除sqlserver數(shù)據(jù)庫(kù)日志和沒有日志的數(shù)據(jù)庫(kù)恢復(fù)辦法,需要的朋友可以參考下2014-06-06SQL Server 排序函數(shù) ROW_NUMBER和RANK 用法總結(jié)
下面的例子和SQL語句均在SQL Server 2008環(huán)境下運(yùn)行通過,使用SQL Server自帶的AdventureWorks數(shù)據(jù)庫(kù)。2009-07-07SQL語句過濾條件放在on與where子句中的區(qū)別和聯(lián)系淺析
在寫SQL語句的時(shí)候,我們經(jīng)常會(huì)用到各種表連接,還有各種分組聚合函數(shù),下面這篇文章主要給大家介紹了關(guān)于SQL語句過濾條件放在on與where子句中的區(qū)別和聯(lián)系,需要的朋友可以參考下2022-09-09SQLSERVER 臨時(shí)表和表變量的區(qū)別匯總
不管臨時(shí)表還是表變量都帶了表這個(gè)詞,既然提到表 ,按推理自然會(huì)落到某數(shù)據(jù)庫(kù)中,如果真在一個(gè)數(shù)據(jù)庫(kù)中,那自然就有它的存儲(chǔ)文件 .mdf和.ldf,那是不是如我推理的那樣呢,這篇文章主要介紹了SQLSERVER 臨時(shí)表和表變量到底有什么區(qū)別,需要的朋友可以參考下2023-02-02