SQL 必知必會 筆記 15 建立和操縱表

2021-09-06 12:05:31 字數 2127 閱讀 7713

建立表的兩種辦法:

表建立基礎

建立表示例:

1

create

table

products2(

3 prod_id char(10) not

null,--

是否可以為null

4 vend_id char(10) not

null

,5 prod_name char(254) not

null

,6 prod_price decimal(8,2) not

null

,7 prod_desc varchar(1000) null

8 );

注意:理解null

不要把null 值與空字串相混淆。null 值是沒有值,不是空字串。 如果指定''(兩個單引號,其間沒有字元),這在not null 列中是允 許的。空字串是乙個有效的值,它不是無值。null 值用關鍵字null 而不是空字串指定。

指定預設值預設值在create table 語句的列定義中用關鍵字default 指定,如下:

1

create

table

orderitems2(

3 order_num integer

notnull

,4 order_item integer

notnull

,5 prod_id char(10) not

null

,6 quantity integer

notnull

default1,

7 createtime datetime

notnull

default

getdate

(),8 item_price decimal(8,2) not

null

9 );

獲得系統日期的命令在不同的dbms 中幾乎都是不同的,如圖:

使用alter table 語句更新表定義。

使用alter table 時需要考慮的事情:

在現有表上增加列:

1

alter

table

vendors

2add vend_phone char(20);

刪除列:

1

alter

table

vendors

2drop

column vend_phone;

注意:小心使用alter table

使用alter table 要極為小心,應該在進行改動前做完整的備份(模 式和資料的備份)。資料庫表的更改不能撤銷,如果增加了不需要的列, 也許無法刪除它們。類似地,如果刪除了不應該刪除的列,可能會丟 失該列中的所有資料。

刪除表沒有確認,也不能撤銷,執行drop語句將永久刪除該錶。如下:

1

drop

table custcopy;

許多dbms 允許強制實施有關規則,防止刪除與其他表相關聯的表。在 實施這些規則時,如果對某個表發布一條drop table 語句,且該表是 某個關係的組成部分,則dbms 將阻止這條語句執行,直到該關係被刪 除為止。如果允許,應該啟用這些選項,它能防止意外刪除有用的表。

每個dbms 對錶重新命名的支援有所不同。對於這個操作,不存在嚴格的標準。db2、mariadb、mysql、oracle 和postgresql 使用者使用rename 語句,sql server 使用者使用sp_rename 儲存過程,sqlite 使用者使用alter table 語句。

《SQL必知必會》 筆記(1 5)

1.1.3 資料型別 varchar和char的區別 表中的每個列都有相應的資料型別,需要注意的是在不同的資料庫中相同型別的命名也是不同的,這個需要檢視對應資料庫的文件說明 就字元型別來說,mysql有char和varchar,而oracle除了這兩種還有一種varchar2型別,同時它們對應的格式...

SQL必知必會 建立和操縱表

sql必知必會 讀書筆記 1.建立表 一般有兩種建立表的方法 2.表建立基礎 利用create table建立表,必須給出下列資訊 create table products prod id char 10 not null,vend id char 10 not null,prod name ch...

SQL必知必會 建立和操縱表(十七)

一般有兩種建立表的方法 多數dbms都具有互動式建立和管理資料庫表的工具 表也可以直接用sql語句操縱 create table products prod id,char 10 not null,vend id,char 10 not null,prod name,char 10 not null...