操作數據庫結構的SQL語句是什么
Sql Server 和 Access 操作數據庫結構的常用Sql,希望對你有所幫助。
新建表: create table [表名] ( [自動編號字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default '默認值' null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5] int default 0, [字段6] Decimal (12,4) default 0, [字段7] image null , ) 刪除表: Drop table [表名] 插入數據: INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS。 NET') 刪除數據: DELETE FROM [表名] WHERE [字段名]>100 更新數據: UPDATE [表名] SET [字段1] = 200,[字段2] = '51WINDOWS。
NET' WHERE [字段三] = 'HAIWA' 新增字段: ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL 刪除字段: ALTER TABLE [表名] DROP COLUMN [字段名] 修改字段: ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL 重命名表:(Access 重命名表,請參考文章:在Access數據庫中重命名表) sp_rename '表名', '新表名', 'OBJECT' 新建約束: ALTER TABLE [表名] ADD CONSTRAINT 約束名 CHECK ([約束字段] NET' FOR [字段名] 刪除默認值 ALTER TABLE [表名] DROP CONSTRAINT 默認值名 刪除Sql Server 中的日志,減小數據庫文件大小 dump transaction 數據庫名 with no_log backup log 數據庫名 with no_log dbcc shrinkdatabase(數據庫名) exec sp_dboption '數據庫名', 'autoshrink', 'true'。
sql語句創建數據庫
/*創建bbsDB數據庫*/use masterif exists(select * from sysdatabases where name='bbsDB')drop database bbsDBcreate database bbsDBon(name='bbsDB_data',filename='D:\project\bbsDB_*',size=10,filegrowth=20%)log on(name='bbsDB_log',filename='D:\project\bbsDB_*',size=3,maxsize=20,filegrowth=10%)/*創建bbsUsers表*/use bbsdbif exists(select * from sysobjects where name='bbsUsers')drop table bbsUserscreate table bbsUsers(UID int identity(1,1) not null,--學號,標識列Uname varchar(15) not null,--用戶昵稱Upassword varchar(10) not null,--用戶密碼Uemail varchar(20),--郵箱地址Usex bit not null,--用戶性別Uclass int,--等級Uremark varchar(20),--備注UregDate datetime not null,--注冊日期Ustate int null, --狀態Upoint int null--用戶積分 )/*創建bbsUsers表中的約束*/alter table bbsUsersadd constraint PK_uid primary key(uid),--主鍵constraint DF_Upassword default(888888) for Upassword,--初始密碼為888888constraint DF_Usex default (1) for Usex,--性別默認為男constraint DF_UregDate default (getdate()) for UregDate,--注冊日期默認為系統日期constraint DF_Ustate default(0) for Ustate,--狀態默認為離線constraint DF_Upoint default(20) for Upoint,--積分默認為20點constraint CK_Uemail check(Uemail like '%@%'),--電子郵件必須含有@符號constraint CK_Upassword check (len(Upassword)>=6)--密碼至少為六位/*創建bbsSection表*/use bbsdbif exists(select * from sysobjects where name='bbsSection')drop table bbsSectioncreate table bbsSection(SID int identity(1,1) not null,--板塊標號,自動增長Sname varchar(32) not null,--版塊名稱SmasterID int not null,--版主用戶IDSprofile varchar(20) null,--版面簡介SclickCount int null, --點擊率StopicCount int null--發帖數)/*創建bbsSection表中的約束*/alter table bbsSectionadd constraint PK_sid primary key(sid),--主鍵constraint DF_SclickCount default(0) for SclickCount,--點擊率默認為0constraint DF_StopicCount default(0) for StopicCount,--發帖數默認為0constraint DF_SmasterID foreign key(SmasterID)references bbsUsers (UID)--外鍵/*創建bbsTopic表*/use bbsdbif exists(select * from sysobjects where name='bbsTopic')drop table bbsTopiccreate table bbsTopic(TID int identity(1,1) not null,--帖子編號,自動增長TsID int not null,--發帖人IDTuID int not null,--版主用戶IDTreplyCount int null,--回復數量Tface int null, --發帖表情Ttopic varchar(20) not null,--標題Tcontents varchar(30) not null,--正文Ttime datetime null,--發帖時間TclickCount int null,--點擊數Tstate int not null,--狀態TlastReply datetime null--回復時間)/*創建bbsTopic表的約束*/alter table bbsTopicadd constraint DF_TreplyCount default(0) for TreplyCount,--回復數量默認為0constraint PK_tid primary key(tid),--主鍵constraint DF_TclickCount default (0) for TclickCount,--點擊數默認為0constraint DF_Tstate default (1) for Tstate,--狀態默認為1constraint DF_Ttime default (getdate()) for Ttime,--發帖時間默認為系統日期constraint CK_Tcontents check (len(Tcontents)>=6),--正文必須大于六個字符constraint CK_TlastReply check ((TlastReply)>(Ttime)),--最后回復時間必須晚于發帖時間constraint DF_TsID foreign key(TsID)references bbsSection (SID),--外鍵constraint DF_TuID foreign key(TuID)references bbsUsers (UID)--外鍵/*創建bbsReply表*/use bbsdbif exists(select * from sysobjects where name='bbsReply')drop table bbsReplycreate table bbsReply(RID int identity(1,1) not null,--自動編號,帖子編號RtID int not null,--主貼IDRsID int not null,--板塊IDRuID int not null,--回帖人IDRface int null, --回帖表情Rcontents varchar(30) not null,--正文Rtime datetime null,--回帖時間RclickCount int null--點擊數)/*創建bbsReply表的約束*/alter table bbsReplyadd constraint DF_Rtime default (getdate()) for Rtime,--回帖時間默認為系統日期constraint CK_Rcontents check (len(Rcontents)>=6),--正文必須大于六個字符constraint DF_RtID foreign key(RtID)references bbsTopic (TID),--外鍵constraint DF_RsID foreign key(RsID)references bbsSection (SID),--外鍵constraint DF_RuID foreign key(RuID)references bbsUsers (UID)--外鍵差不多,你改一下吧!。
在數據表中添加一個字段的SQL語句怎么寫
數據表中添加一個字段的SQL語句寫法為: 1、alter table 表名 ADD 字段 類型 NOT NULL Default 0 2、ALTER TABLE employee ADD spbh varchar(20) NOT NULL Default 0 3、在表employee 中加入 spbh 類型是varchar大小20 不為空 默認值是0 擴展資料 通用式: alter table [表名] add [字段名] 字段屬性 default 缺省值 default 是可選參數 增加字段: alter table [表名] add 字段名 smallint default 0 增加數字字段,整型,缺省值為0 alter table [表名] add 字段名 int default 0 增加數字字段,長整型,缺省值為0 alter table [表名] add 字段名 single default 0 增加數字字段,單精度型,缺省值為0 alter table [表名] add 字段名 double default 0 增加數字字段,雙精度型,缺省值為0 alter table [表名] add 字段名 Tinyint default 0 增加數字字段,字節型,缺省值為0 alter table [表名] add 字段名 text [null] 增加備注型字段,[null]可選參數 alter table [表名] add 字段名 memo [null] 增加備注型字段,[null]可選參數 alter table [表名] add 字段名 varchar(N) [null] 增加變長文本型字段大小為N(1~255) alter table [表名] add 字段名 char [null] 增加定長文本型字段大小固定為255 alter table [表名] add 字段名 Datetime default 函數增加日期型字段,其中函數可以是now(),date()等,表示缺省值 刪除字段: alter table [表名] drop 字段名 修改變長文本型字段的大小:alter table [表名] alter 字段名 varchar(N) 刪除表: drop table [表名]。
數據庫中常用的sql語句有哪些
1.檢索數據 SELECT prod_nameFROM Products;#檢索單列 SELECT prod_id, prod_name, prod_priceFROMProducts;#檢索多列 SELECT * FROM Products;#檢索所有列 SELECT DISTINCTvend_id FROMProducts;#檢索不同的值 SELECTprod_name FROM Products LIMIT 5;#返回不超過5行數據 SELECTprod_name FROM Products LIMIT 5 OFFSET 5;#返回從第5行起的5行數據。
LIMIT指定返回的行數,LIMIT帶的OFFSET指定從哪兒開始。2.排序檢索數據 SELECTprod_name FROMProducts ORDER BYprod_name;#排序數據 SELECT prod_id, prod_price, prod_name FROMProducts ORDER BY prod_price, prod_name;#按多個列排序 SELECT prod_id, prod_price, prod_name FROMProducts ORDER BY 2, 3;#按列位置排序,第三行表示先按prod_price, 再按prod_name進行排序 SELECT prod_id, prod_price, prod_name FROMProducts ORDER BY prod_priceDESC, prod_name;#prod_price列以降序排序,而prod_name列(在每個價格內)仍然按標準的升序排序3.過濾數據 SELECT prod_name, prod_price FROMProducts WHERE prod_price#檢查單個值 SELECT prod_name, prod_price FROMProducts WHERE vend_id 'DLL01';#不匹配檢查 SELECT prod_name, prod_price FROMProducts WHERE prod_priceBETWEEN 5 AND 10;#范圍值檢查 SELECT cust_name FROMCUSTOMERS WHERE cust_emailIS NULL;#空值檢查4.高級數據過濾 SELECTprod_id, prod_price, prod_name FROMProducts WHERE vend_id = 'DLL01'ANDprod_price #AND操作符 SELECTprod_name, prod_price FROMProducts WHEREvend_id='DLL01' OR vend_id='BRS01';#OR操作符 SELECTprod_name, prod_price FROMProducts WHERE (vend_id = 'DLL01'ORvend_id='BRS01') ANDprod_price >= 10;#求值順序 AND的優先級高于OR SELECTprod_name, prod_price FROMProducts WHERE vend_idIN ('DLL01','BRS01') ORDER BY prod_name;#IN操作符 SELECT prod_name FROMProducts WHERE NOTvend_id = 'DLL01' ORDER BY prod_name;#NOT 操作符 SELECT prod_name FROMProducts WHEREvend_id 'DLL01' ORDER BY prod_name;#NOT 操作符。
常用sql語句
1. 查看數據庫的版本 select @@version 2. 查看數據庫所在機器操作系統參數 exec master..xp_msver 3. 查看數據庫啟動的參數 sp_configure 4. 查看數據庫啟動時間 select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1 查看數據庫服務器名和實例名 print 'Server Name。
。
。
:' + convert(varchar(30),@@SERVERNAME) print 'Instance。
。
。
:' + convert(varchar(30),@@SERVICENAME) 5. 查看所有數據庫名稱及大小 sp_helpdb 重命名數據庫用的SQL sp_renamedb 'old_dbname', 'new_dbname' 6. 查看所有數據庫用戶登錄信息 sp_helplogins 查看所有數據庫用戶所屬的角色信息 sp_helpsrvrolemember 修復遷移服務器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程 更改某個數據對象的用戶屬主 sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner' 注意:更改對象名的任一部分都可能破壞腳本和存儲過程。 把一臺服務器上的數據庫用戶登錄信息備份出來可以用add_login_to_aserver腳本 查看某數據庫下,對象級用戶權限 sp_helprotect 7. 查看鏈接服務器 sp_helplinkedsrvlogin 查看遠端數據庫用戶登錄信息 sp_helpremotelogin 8.查看某數據庫下某個數據對象的大小 sp_spaceused @objname 還可以用sp_toptables過程看最大的N(默認為50)個表 查看某數據庫下某個數據對象的索引信息 sp_helpindex @objname 還可以用SP_NChelpindex過程查看更詳細的索引情況 SP_NChelpindex @objname clustered索引是把記錄按物理順序排列的,索引占的空間比較少。
對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用默認值。 查看某數據庫下某個數據對象的的約束信息 sp_helpconstraint @objname9.查看數據庫里所有的存儲過程和函數 use @database_name sp_stored_procedures 查看存儲過程和函數的源代碼 sp_helptext '@procedure_name' 查看包含某個字符串@str的數據對象名稱 select distinct object_name(id) from syscomments where text like '%@str%' 創建加密的存儲過程或函數在AS前面加WITH ENCRYPTION參數 解密加密過的存儲過程和函數可以用sp_decrypt過程 10.查看數據庫里用戶和進程的信息 sp_who 查看SQL Server數據庫里的活動用戶和進程的信息 sp_who 'active' 查看SQL Server數據庫里的鎖的情況 sp_lock 進程號1--50是SQL Server系統內部用的,進程號大于50的才是用戶的連接進程. spid是進程編號,dbid是數據庫編號,objid是數據對象編號 查看進程正在執行的SQL語句 dbcc inputbuffer () 推薦大家用經過改進后的sp_who3過程可以直接看到進程運行的SQL語句 sp_who3 檢查死鎖用sp_who_lock過程 sp_who_lock 11.查看和收縮數據庫日志文件的方法 查看所有數據庫日志文件大小 dbcc sqlperf(logspace) 如果某些日志文件較大,收縮簡單恢復模式數據庫日志,收縮后@database_name_log的大小單位為M backup log @database_name with no_log dbcc shrinkfile (@database_name_log, 5) 12.分析SQL Server SQL 語句的方法: set statistics time {on | off} set statistics io {on | off} 圖形方式顯示查詢執行計劃 在查詢分析器->查詢->顯示估計的評估計劃(D)-Ctrl-L 或者點擊工具欄里的圖形 文本方式顯示查詢執行計劃 set showplan_all {on | off} set showplan_text { on | off } set statistics profile { on | off } 13.出現不一致錯誤時,NT事件查看器里出3624號錯誤,修復數據庫的方法 先注釋掉應用程序里引用的出現不一致性錯誤的表,然后在備份或其它機器上先恢復然后做修復操作 alter database [@error_database_name] set single_user 修復出現不一致錯誤的表 dbcc checktable('@error_table_name',repair_allow_data_loss) 或者可惜選擇修復出現不一致錯誤的小型數據庫名 dbcc checkdb('@error_database_name',repair_allow_data_loss) alter database [@error_database_name] set multi_user CHECKDB 有3個參數: repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文本對象,這些修復可能會導致一些數據丟失。
修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。 如果回滾修復,則數據庫仍會含有錯誤,應該從備份進行恢復。
如果由于所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決于該修復的修復。 修復完成后,請備份數據庫。
repai*_**st 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。 這些修復可以很快完成,并且不會有丟失數據的危險。
repair_rebuild 執行由 repai*_**st 完成的所有修復,包括需要較長時間的修復(如重建索引)。 執行這些修復時不會有丟失數據的危險。
添加、刪除、修改使用*e(Sql)命令執行操作 ╔--------------------╗ ☆ 數據記錄篩選 ☆ ╚--------------------╝ 注意:單雙引號的用法可能有誤(沒有測式) Sql = "Select Distinct 字段名 From 數據表" Distinct函數,查詢數據庫存表內不重復的記錄 Sql = "。