Tải bản đầy đủ (.ppt) (17 trang)

Tài liệu Thao tác trên Table doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (134.06 KB, 17 trang )

01/22/14 1
Bài 3: Thao tác trên table
1. Tạo table bằng công cụ
2. Tạo table bằng lệnh T-SQL
3. Tạo mới dữ liệu bằng công cụ
4. Tạo mới dữ liệu bằng lệnh T-SQL
5. Sữa cấu trúc table
6. Xoá table
01/22/14 2
CREATE TABLE
[ database_name.[ owner ] . | owner. ]
table_name
( { < column_definition >
| column_name AS
computed_column_expression
| < table_constraint > ::= [ CONSTRAINT
constraint_name ] }
| [ { PRIMARY KEY | UNIQUE } [ , n ]
)
Tạo table
Định nghĩa cột
Cột tính toán
01/22/14 3
< column_definition > ::= { column_name
data_type }
[ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed , increment )
]
[ < column_constraint > ] [ n ]
Định nghĩa các cột
01/22/14 4


Arguments

Table name: tên table

Column name: tên field

computed_column_expression : biểu thức tính toán
từ các field trong cùng table cho field tính toán

Default: giá trị mặc định cho cột

Identity: Giá trị của cột sẽ được tự động tăng theo
seed và inreament, chỉ dùng cho field kiểu số

ROWGUIDCOL : là row global unique identifier
column. Mỗi table chỉ có một cột có thuộc tính này.
01/22/14 5
Constraint

Cho phép định nghĩa các rule để bảo toàn
các ràng buộc dữ liệu trong database.

Có 2 loại constraints:

Column constraint: Được định nghĩa như một
thuộc tính của field và chỉ áp dụng và tham
chiếu trên field đó

Table constraint: được khai báo độc lập với
các field trong table và có thể tham chiếu đến

nhiều cột trong table đó.
01/22/14 6
< column_constraint > ::= [ CONSTRAINT
constraint_name ]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ]
[ON {filegroup | DEFAULT} ] ]
]
| [ [ FOREIGN KEY ]
REFERENCES ref_table [ ( ref_column ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
]
| CHECK [ NOT FOR REPLICATION ]
( logical_expression )
}
01/22/14 7
Table constrain
< table_constraint > ::= [ CONSTRAINT constraint_name ]
{ [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
{ ( column [ ASC | DESC ] [ , n ] ) }
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| FOREIGN KEY
[ ( column [ , n ] ) ]

REFERENCES ref_table [ ( ref_column [ , n ] ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
| CHECK [ NOT FOR REPLICATION ]
( search_conditions )
}
01/22/14 8
Ví dụ tạo table Jobs
CREATE TABLE jobs ( job_id smallint
IDENTITY(1,1) PRIMARY KEY
CLUSTERED, job_desc varchar(50)
NOT NULL DEFAULT 'New Position -
title not formalized yet', min_lvl tinyint
NOT NULL CHECK (min_lvl >= 10),
max_lvl tinyint NOT NULL CHECK
(max_lvl <= 250) )
01/22/14 9
Ví dụ tạo table employee
CREATE TABLE employee (
emp_id empid CONSTRAINT PK_emp_id
PRIMARY KEY NONCLUSTERED
CONSTRAINT CK_emp_id
CHECK (emp_id LIKE '[A-Z][A-Z][A-Z][1-9]
[0-9][0-9][0-9][0-9][FM]'
or emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-
9][0-9][FM]'),
fname varchar(20) NOT NULL,
minit char(1) NULL,
01/22/14 10

lname varchar(30) NOT NULL, job_id
smallint NOT NULL DEFAULT 1
REFERENCES jobs(job_id), job_lvl
tinyint DEFAULT 10, pub_id char(4)
NOT NULL DEFAULT ('9952')
REFERENCES publishers(pub_id),
hire_date datetime NOT NULL
DEFAULT (getdate()))
01/22/14 11
Ví dụ tạo table Publishers
CREATE TABLE publishers ( pub_id char(4)
NOT NULL CONSTRAINT UPKCL_pubind
PRIMARY KEY CLUSTERED CHECK
(pub_id IN ('1389', '0736', '0877', '1622',
'1756') OR pub_id LIKE '99[0-9][0-9]'),
pub_name varchar(40) NULL, city
varchar(20) NULL, state char(2) NULL,
country varchar(30) NULL
DEFAULT('USA') )
01/22/14 12
Xoá table
DROP TABLE table_name
Không thể xoá một table mà được tham
chiêú (referenced) bởi một ràng buộc
FOREIGN KEY constraint. Ràng buộc
FOREIGN KEY hoặc table tham chiếu
phải được xoá trước.
01/22/14 13
Ví dụ (tt)


Thêm field vào table:
alter table table1 add field3 nvarchar(50)

Xoá field
Alter table table1 drop column field2

Bỏ ràng buộc:
alter table table1 nocheck constraint
ch_f2
01/22/14 14
Tóm tắt bài học

Chúng ta có thể quản lý table bằng công cụ
Enterprise Manager hoặc bằng các lệnh
Transact-SQL

Để tạo table bằng T-SQL, ta dùng lệnh
create table

Để sữa cấu trúc table bằng T-SQL, ta dùng
lệnh alter table

Để xoá table bằng T-SQL, ta dùng lệnh drop
table
01/22/14 15
Table: KHACHHANG
Name Type Size
MAKH Nvarchar 5 (khoaự chớnh)
TENKH Nvarchar 30
DIACHI Nvarchar 50

DThoai Nvarchar 8
EMAIL Nvarchar 30
Raứng buoọc: TENKH not null, DThoai laứ 8 chửừ soỏ.
01/22/14 16

Tạo table MonHoc có 2 fields:

MaMH kiểu chuỗi 10 ký tự, khoá chính

TenMH kiểu chuỗi 50 ký tự, not null

Table HocKy có 2 fields:

MaHK, số tự động tăng từ 1, khoá chính

TenHK kiểu chuỗi 20 ký tự

Table MonHoc_HocKy

MaMH kiểu chuỗi 10 ký tự tham chiếu từ table MonHoc

MaHK, số tham chiếu từ table HocKy

Khoá chính là 2 field MaMH và MaHK
01/22/14 17

Thêm cột số tiết kiểu số vào table môn
học

×