精通資料庫SQL 建立 修改和刪除表

2021-09-30 07:07:27 字數 1834 閱讀 5495

c

reate table table_name (

column_name1 data_type,

column

_name2 data_type, ……

)not null

default 

alter table table_name a

dd column_name data_type ( not null default default_name )

alter table table_name d

rop column column_name

由於某一列設有預設值,所以系統不允許直接刪除該列。如果一定要刪除該列,必須首先採用alter table 語句刪除預設值約束。語法如下: a

lter table table_name d

rop constraint constraint_name

其中,constraint_name為要刪除的約束對應的約束名,是由dbms建立的。對於某一列的預設值約束來說,約束名可從直接刪除該列系統的出錯報告資訊中獲取,例如為「df_student_***_4ca06362

」。然後再刪除該列。

alter table table_name m

odify column_name data_type 注:

1.sql server 2000 資料庫系統中不支援modify 關鍵字,用alter column替代modify可以修改資料庫中的列。

2.當要減少表中某列的最多字元數要特別慎重,當資料庫表中該列存在已有記錄的字元數多於減少後的最多字元限制時,表的修改就會失敗。

3.修改表中的某列,為其增加非空約束時,必須要確保該列已經存在的所有記錄中沒有null值。

4.sql serber 不僅允許改變列的資料長度,而且還允許改變其資料型別。但是當列為以下情況時,則不能改變其資料型別。

·是text、image、ntext或timestamp型別

·是索引的一部分

·是primary或者key foreign key 的一部分

·具有預設值約束

·具有check 約束

·具有unique 約束

當改變列的資料型別時,列中已有的資料必須與新的資料型別相容。 s

p_rename 

『pre_table_name

』,『table_name』

sp_rename 

『table_name.pre_column_name

』,『column_name

』,『column』d

rop table table_name

create database database_name

create database database_name

[ on

[ < filespec > [ , … n ] ]

[ , < filegroup > [ , … n ] ] ]

[ log on ]

其中< filespec >定義為:

( [ name = loqical file_name , ] f

ilename = 

『os_file_name』

[ , size = size ]

[ , maxsize = ]

[ , filegrowth = growth_increment ]) [ , … n ])

注:資料庫檔案的字尾名為「.mdf」,而事務處理日誌檔案的字尾名為「.ldf」

drop database database_name [ , … n ]

如果該資料庫正在被使用,通過drop database 語句刪除資料庫操作就會失敗。

SQL 資料庫的修改和刪除資料庫操作

對原始定義進行更改,常用的更改操作 1 擴充分配給資料庫的資料檔案或事物日誌檔案空間 2 收縮 空間 3 新增或刪除輔助資料檔案或事務日誌檔案 4 更改資料庫名稱 alter datebase 資料庫名 指定要修改的資料庫名稱 add file 表示向資料庫新增新的資料檔案 add log file...

建立,檢視,刪除,修改資料庫

語法 create database 資料庫名稱 character set 編碼集 collate 比較規則 建立乙個使用utf8字符集的mydb2資料庫。create database mydb2 character set utf8 建立乙個使用utf8字符集,並帶校對規則的mydb3資料庫。...

精通資料庫SQL 子查詢

s elect column name f rom table name w here test expression not in subquery select column name f rom table name w here not exists subquery any 大於子查詢結果...