[MySQL] Tạo CSDL và bảng với CREATE

By | 16/06/2010

Tạo một CSDL
CREATE DATABASE tên_CSDL

Tạo một bảng trong một CSDL

CREATE TABLE tên_bảng

(

tên_cột_1 kiểu_dữ_liệu,

tên_cột_2 kiểu_dữ_liệu,

…….

)

Ví dụ

Tạo một bảng tên Person có bốn cột: LastNameFirstNameAddress và Age:

CREATE TABLE Person

(

LastName varchar,

FirstName varchar,

Address varchar,

Age int

)

Tạo bảng và đặt kích thước tối đa của các cột:

CREATE TABLE Person

(

LastName varchar(30),

FirstName varchar,

Address varchar,

Age int(3)

)

Kiểu dữ liệu sẽ qui định loại dữ liệu nào được phép lưu trữ trong cột. Sau đây là các kiểu dữ liệu thường dùng nhất trong SQL:

integer(n)

int(n)

smallint(n)

tinyint(n)

Chỉ lưu trữ dữ liệu là số nguyên. Số lượng tối đa các chữ số được qui định bởi n.
decimal(n,d)

numeric(n,d)

Lưu trữ số thập nhân. Số lượng tối đa các chữ số được qui định bởi n. Số lượng tối đa các chữ số sau dấu phảy thập phân được qui định bởi d.
char(n)Lưu trữ n ký tự.
varchar(n)Lưu trữ tối đa n ký tự.
date(yyyymmdd)Lưu trữ ngày tháng (dạng năm-tháng-ngày)

Tạo chỉ mục

Chỉ mục được tạo ra nhằm để  các dòng trong bảng được truy xuất nhanh và hiệu quả hơn. Chỉ mục có  thể được tạo trên một hoặc nhiều cột của bảng, và mỗi chỉ mục được đặt  một tên. Người dùng không thấy được các chỉ mục này, chúng chỉ được  dùng để tăng tốc cho CSDL.

Lưu ý: Sau khi bảng đã  được tạo chỉ mục thì việc cập nhật thay thêm dòng mới vào bảng sẽ mất  nhiều thời gian hơn là đối với bảng không có chỉ mục. Lý do là vì khi  cập nhật bảng, các chỉ mục đồng thời cũng phải được cập nhật theo. Vì  thế, ta chỉ nên tạo chỉ mục cho các cột thường xuyên dùng trong các tác  vụ tìm kiếm.

Chỉ mục đơn nhất (Unique Index)

Chỉ mục đơn nhất sẽ bắt buộc hai dòng bất kỳ của bảng sẽ không được phép mang cùng giá trị ở cột được tạo chỉ mục.

Cú pháp:

CREATE UNIQUE INDEX tên_chỉ_mục

ON tên_bảng (tên_cột)

Chỉ mục đơn (Simple Index)

Khi không dùng từ khoá UNIQUE trong câu lệnh tạo chỉ mục, các giá trị trùng nhau trong cột sẽ được phép.

Cú pháp:

CREATE INDEX tên_chỉ_mục

ON tên_bảng (tên_cột)

Ví dụ

Tạo một chỉ mục đơn có tên là PersonIndex trên cột LastName của bảng Person:

CREATE INDEX PersonIndex

ON Person (LastName)

Nếu bạn muốn tạo chỉ mục sắp xếp giảm dần, bạn sử dụng thêm từ dành riêng DESC:

CREATE INDEX PersonIndex

ON Person (LastName DESC)

Nếu bạn muốn tạo chỉ mục trên nhiều cột:

CREATE INDEX PersonIndex

ON Person (LastName, Firstname)

Xoá chỉ mục

Bạn có thể xoá chỉ mục đã tạo bằng lệnh DROP.

DROP INDEX tên_bảng.tên_chỉ_mục

Xoá CSDL hoặc bảng

Để xoá một CSDL (các bảng trong CSDL cũng đồng thời được xoá):

DROP DATABASE tên_CSDL

Để xoá một bảng (toàn bộ cấu trúc, dữ liệu và chỉ mục của bảng sẽ được xoá):

DROP TABLE tên_bảng

Leave a Reply

Your email address will not be published. Required fields are marked *