SQL必知必會》 筆記4

2022-08-27 07:30:12 字數 3568 閱讀 2642

插入完整行

insert into customers 

values('1000000006',

'toy land',

'123 any street',

'new york',

'ny',

'11111',

'usa',

null,

null);

一一對應的屬性

insert into customers(cust_id,

cust_name,

cust_city,

cust_address,

cust_state,

cust_zip,

cust_country,

cust_contact,

cust_email)

values('1000000006',

'toy land',

'123 any street',

'new york',

'ny',

'11111',

'usa',

null,

null);

插入部分行
insert into customers(cust_id,

cust_name,

cust_city,

cust_address,

cust_state,

cust_zip,

cust_country)

values('1000000006',

'toy land',

'123 any street',

'new york',

'ny',

'11111',

'usa');

部分屬性允許為null,或給出預設值

插入檢索出的資料

insert select語句

insert into customers(.....)

select ..... from custnew;

從乙個表複製到另乙個表
create table custcopy as

select * from customers;

update customers 

set cust_contact = 'sam roberts',

cust_email = '[email protected]'

where cust_id = '1000000006';

delete from customers 

where cust_id = '1000000006';

如果updatedelete不帶where的話就是更改/刪除每一行

create table orders

(order_num integer not null,

order_date datetime not null,

cust_id char(10) not null

);

指定預設值

在後面加上default

create table orderitems

(order_num integer not null,

order_item integer not null,

prod_id char(10) not null,

quantity integer not null default 1,

item_price decimal(8, 2) not null

);

增加列
alter table vendors

add vend_phone char(20);

刪除列
alter table vendors 

drop column vend_phone;

drop table custcopy;

建立檢視

create view productcustomers as

select cust_name, cust_contact, prod_id

from customers, orders, orderitems

where customers.cust_id = orders.cust_id

and orderitems.order_num = orders.order_num;

所有處理封裝,簡化操作

主鍵唯一標識

create table orders

(order_num integer not null, primary key,

order_date datetime not null,

cust_id char(10) not null

);

或者建立表後再新增

alter table orders

add constraint primary key (order_num);

外來鍵
create table orders

(order_num integer not null, primary key,

order_date datetime not null,

cust_id char(10) not null , references customers(cust_id)

);

或者

alter table orders

add constraint

foreign key (cust_id) references customers (cust_id);

檢查約束
create table orderitems

(order_num integer not null,

order_item integer not null,

prod_id char(10) not null,

quantity integer not null check (quantity > 0),

item_price decimal(8, 2) not null

);

或者

add constraint check (gender like '[mf]');

《sql必知必會》筆記

資料庫 儲存有組織的資料的容器 通常是乙個檔案或一組檔案 注意誤用混淆 資料庫軟體被稱為dbms,資料庫是通過dbms建立和操縱的容器 模式 關於資料庫和表的布局及特性的資訊。主鍵 一列或一組列,其值能夠唯一標識表中的每一行。多條sql語句必須以 分隔。sql語句不區分大小寫,select和sele...

SQL必知必會

資料庫 儲存有組織的資料的容器。資料庫管理系統 dbms 資料庫軟體,資料庫是通過dbms建立和操縱的容器。表 某種特定資料型別的結構化清單。資料庫中的每個表都有自己的名字,且唯一。不同的資料庫可以使用相同的表名。表的特性 模式 資料在表中如何儲存,儲存什麼樣的資料,資料如何分解。模式可以用來描述資...

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

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