RSS

Các kiểu dữ liệu, các toán tử và truy vấn trong Access

06 Tháng 5

I. Các kiểu dữ liệu:

Microsoft Access có các kiểu dữ liệu sau:

Text

Kiểu văn bản với chiều dài cố định. Trong kiểu này phải xác định độ rộng của cột – tính theo byte. Độ rộng tối đa của cột là 255 bytes. Giá trị luôn luôn được điền thêm khoảng trắng ở cuối để cho đủ số lượng đã khai báo.

Number

Kiểu số . Có 5 loại kiểu số theo kích thước lưu trữ:

· Số nguyên 1 byte (Byte) có giá trị từ 0 đến 255.

· Số nguyên 2 bytes (Integer) có giá trị từ –32768 đến +32767.

· Số nguyên 4 bytes (Long) có giá trị từ khoảng -2,1 tỷ đến +2,1 tỷ.

· Số thực độ chính xác đơn (Single) chiếm 4 bytes, có giá trị đảm bảo chỉ có 7 chữ số đầu là có nghĩa đúng đắn.

· Số thực độ chính xác gấp đôi (Double) đảm bảo 15 chữ số có ý nghĩa – đúng.

Yes/No (hoặc True/False hoặc On/Off).

Kiểu luận lý

Memo

Kiểu văn bản có chiều dài thay đổi . Giá trị có thể có kích thước tối đa 64K bytes

Currency

Kiểu tiền tệ với bản chất là kiểu số, nhưng khi hiển thị thì có ký hiệu tiền tệ $ ở phía trước

DateTime

Kiểu Ngày tháng . Giá rị kiểu này phải có đầy đủ cả ngày, tháng và năm

AutoNumber

Kiểu đánh số tăng dần một cách tự động là số nguyên 4 bytes, tự động tăng 1 mỗi khi một bản ghi mới được bổ sung vào bảng.

Object Linked Embedded – OLE

Kiểu dữ liệu đa phương tiện , có thể là một bảng tính Excel, file Word, hình ảnh (Bitmap), âm thanh (Audio) hoặc phim (Movie).

II. Các toán t trong Access

a. Toán t s hc
Toán t

Mô t

Ví d

+

Cng hai toán hng

[lương]+[ph cp]

-

Tr hai toán hng

Date-30

-(toán t đơn)

Thay đi du ca mt toán hng

-12345

*

Nhân hai toán hng

[h s]*[lương cơ bn]

/

Chia mt toán hng voái mt toán hng khác

15.2/12.55

\

Chia mt toán hng s nguyên vi mt toán hng s nguyên khác.

5\2

Mod

Tr v s dư ca phép chia vi mt s nguyên.

5 Mod 2

^

Nâng lũy tha mt toán hng (s mũ)

4^3

b. Toán logic
Toán t

Mô t

Ví d

Kết qa

And

Và lôgic

True And True
True And False

True
False

Or

Or baog gm

True Or False
False Or False

True
False

Not

Không lôgic

Not True
Not False

False
True

Xor

Or loi tr

True Xor False
True Xor True

True
False

c.   Hàm ngày và gi

Hàm

Mô t

Ví d

Tr v

Date()

Tr v ngày hin ti ca h thng

Date()

22/1/2005

Day (exp)

Tr v mt ngày trong mt tháng

Day (#7/15/2004#)

15

Month(exp)

Tr v mt tháng trong mt năm

Month(#7/15/2004#)

7

Weekday(exp)

Tr v mt ngày trong tun

Weekday(#1/23/2005#)

2

Year(exp)

Cho biết năm ca biu thc

Year(#1/23/2005#)

2005

d. Hàm x lý kiu d liu trưng Text

Hàm

Mô t

Ví d

Tr v

Format(exp)

Đnh dng biu thc theo các dng thc thích hp.

Format(Date(), “dd-mm-yyyy” )

23-Jul-2005

LCase(exp)

Tr v phiên bn ch thưng ca mt chui.

LCase(“Lan”)

lan

UCase(exp)

Tr v phiên bn ch hoa ca mt chui.

UCase(“Lan”)

LAN

LTrim(exp)

Xóa tt c các du cách đu chui.

LTrim (“     Lan”)

Lan

RTrim(exp)

Xóa tt c các du cách cui chui.

RTrim(“Lan     ”)

Lan

Trim(exp)

Xóa tt c các du cách đu và cui chui.

Trim (“    Lan    ”)

Lan

Str(exp)

Chuyn mt s thành mt chui.

Str(123.45)

123.45

Val(exp)

Chuyn mt chui thành mt s

Val(“123.45”)

123.45

e. Hàm toán hc và hàm lưng giác
Hàm

Mô t

Ví d

Tr v

Abs(exp)

Tr v giá tr tuyt đi ca mt s

Abs(-1234.5)

1234.5

Atn(exp)

Hàm arctang, tính theo radian.

Atn(1)

0.7853982

Cos(exp)

Hàm cosin, tính theo radian.

Cos(pi/4)

0.707106719949

Exp(exp)

Hàm ex

Exp(2.302585)

9.9999990700

Int(exp)

Tr v phn nguyên ca giá tr s

Int(13.5)
Int(-13.5)

13.5
-13.5

Log(exp)

Hàm logarit cơ s e.

Log(10)

2.302585

Sgn(exp)

Hàm du

Sgn(-13.5)
Sgn(13.5)

-1
0

Sin(exp)

Hàm sin, tính theo radian.

Sin(pi/4)

0.707106842423

Sqr(exp)

Hàm căn bc hai.

Sqr(144)

12

Tan(exp)

Hàm tang, tính theo radian.

Tan(pi/4)

1.0000001723

f.   Các toán t khác
Toán t

Mô t

Ví d

Is

Đưc dùng vi Null đ xác đnh mt giá tr nào đó có phi là Null hay Not Null

Is Null
Is Not Null

Like

Xác đnh mt giá tr chui có bt đu bng mt hay nhiu ký t. (Đ Like làm vic đúng đn, ta phi b sung mt du đi din *, hoc mt hay nhiu du ?)

Like “Jon*”
Like “FILE????”

In

Xác đnh mt giá tr chui có thuc mt thành phn ca danh sách các giá tr hay không.

In (“CA”, “OR”, “WA”)

Between

Xác đnh mt s có nm trong mt min giá tr đã ch đnh hay không.

Between 1 And 5

III. Truy vấn CSDL

3.1 Truy vấn tìm kiếm thông tin

3.1.1 Câu lệnh truy vấn đơn:

Cú pháp câu lệnh truy vấn :

SELECT [DISTINCT] [TOP n [PERCENT]]

<bthức 1>[AS <tên1>], <bthức 2>[AS <tên2>],…

FROM <bảng 1> [[AS]<bí danh>],<bảng 2>[[AS]<bí danh>], …

[WHERE <điều kiện chọn bản ghi để xử lý>]

[GROUP BY <bthức nhóm 1> <bthức nhóm 2>, … ]

[HAVING <điều kiện chọn kết quả cuối cùng>]

[ORDER BY <bthức 1>[ASC/DESC], … ];

Dấu chấm phảy cuối câu là tùy chọn. Chữ hoa hay chữ thường là như nhau.

(*) DISTINCT : Chỉ giữ lại những dòng khác nhau.

(*) Cụm từ TOP n [PERCENT] luôn luôn phải được đi kèm với mệnh đề ORDER BY.

- TOP n : n dòng đầu tiên và những dòng có giá trị sắp xếp như dòng thứ n.

- TOP n PERCENT : n% (lấy cận trên) số dòng kết quả tìm được. Ví dụ, nếu n% = 1.2 thì lấy cận trên bằng 2.

(*) <bảng i> (i=1..n) có thể là tên bảng dữ liệu vật lý, Query hoặc phép kết 2 quan hệ theo cú pháp:

<bảng 1> <phép kết> <bảng 2> ON <điều kiện kết>

<phép kết> ::= INNER JOIN / LEFT JOIN / RIGHT JOIN / OUTER JOIN.

(*) Nếu sau FROM là danh sách các bảng thì phải thể hiện mối liên hệ giữa các bảng đó trong mệnh đề WHERE.

(*) Ngoại trừ các biểu thức có chứa các hàm tích hợp các biểu thức còn lại sau SELECT đều phải có mặt trong mệnh đề GROUP BY.

SQL s dng mt s hàm gp sau:
- COUNT: đếm s các giá tr trong mt ct.
- SUM: tính tng các giá tr trong mt ct. Hàm này ch áp dng cho các giá tr kiu s.
- AVG: tính trung bình cng ca các giá tr trong mt ct. Hàm này ch áp dng cho các giá tr kiu s.
- MIN: tìm giá tr nh nht trong s các giá tr ca mt ct.
- MAX: tìm giá tr ln nht trong s các giá tr mt ct.
Tr hàm COUNT(*), còn các hàm khác đu b qua các giá tr null trong các giá tr đu vào ca chúng.

3.1.2 Cấu truy vấn con

Định nghĩa: Câu truy vấn con là một câu truy vấn mà kết quả của nó được dùng làm toán hạng của một phép so sánh trong biểu thức điều kiện của câu truy vấn khác. Câu truy vấn con phải được đặt trong cặp dấu ngoặc tròn.

(*) MSA chỉ cho phép 1 biểu thức sau SELECT trong câu truy vấn con. Do đó, nếu có nhiều biểu thức thì phải ghép chúng lại thành một thông qua phép nối ghép &.

3.2 Truy vấn để sửa đổi dữ liệu

3.2.1 Query bổ sung thêm dữ liệu

INSERT INTO <Tên bảng> [(<Danh sách cột>)] VALUES(<danh sách giá trị>);

3.2.2 Query sửa dữ liệu:

UPDATE <bảng / query / phép kết>

SET <cột 1> = <bthức 1>, <cột 2>=<bthức 2>, …

[WHERE <điều kiện cập nhật>];

3.2.3 Query xóa dữ liệu:

DELETE [<loại bản ghi>] FROM <bảng / query / phép kết>

[WHERE <điều kiện xóa>];

(*) Nếu nguồn là query hoặc phép kết thì phải có thành phần <loại bản ghi> để cho biết xóa bộ giá trị của bảng nào.

3.3 Truy vấn tổng hợp dữ liệu(Cross-Tab)

Cú pháp:

TRANSFORM <biểu thức phân tổ>

SELECT <các biểu thức chủ từ>

FROM <các bảng>

[WHERE <điều kiện chọn bản ghi để xử lý>]

GROUP BY <Các biểu thức phân nhóm>

PIVOT <tên cột> [IN (<danh sách giá trị>)]

3.4 Các câu lệnh truy vấn khác

3.4.1 Tạo cấu trúc bảng:

Create Table <tên bảng> (

<mô tả cột 1>, <mô tả cột 2> , …, <mô tả cột n>,

[Constraint <tên>Primary Key (<các cột khóa chính>)]

[Constraint <tên> Foreign Key (<các cột khóa ngoại>)

References <bảng> (<các thuộc tính khóa chính>)]

);

Một mô tả cột có dạng:

<cột> <kiểu>[(<rộng>)] [Not NULL] [Primary Key][Foreign Key References <bảng> (<khoá chính>)]

Ví dụ: a.Create Table ABC (aaa text(10) Primary Key,

bbb long, ccc DateTime, ddd Memo, eee Double);

b. Create Table BBC (aaa text(10), bbb long, Constraint PK Primary Key (aaa,bbb), Constraint FK Foreign Key (aaa) References ABC (aaa));

3.4.2 Sửa đổi cấu trúc bảng – Thiết lập khóa chính, RBTV:

Alter Table <bảng> [Add Column <đặc tả cột>],

[Add Constraint <tên> Primary Key (<các cột>)],

[Add Constraint <tên> Foreign Key (<các cột>) References <bảng> (<các khóa goại>)];

Ví dụ: Alter Table BBC Add Column ccc DateTime;

3.4.3 Tạo chỉ mục:

CREATE [UNIQUE] INDEX <tên> ON <bảng> (<các cột>);

3.4.4 Các câu lệnh hủy bỏ:

Hủy (xóa) bỏ bảng: DROP Table <tên bảng>;

Hủy bỏ chỉ mục: DROP INDEX <tên index> ON <bảng>;

Hủy bỏ RBTV: DROP Constraint <tên RBTV> ON <bảng>;

About these ads
 
6 phản hồi

Posted by on 6 Tháng Năm, 2008 in Access

 

6 responses to “Các kiểu dữ liệu, các toán tử và truy vấn trong Access

  1. cuong

    2 Tháng Mười Hai, 2008 at 7:49 chiều

    This is a good topic for new person who begin lean aceess, SQL….

    but i can’t find session for function

     
  2. Nguyễn Ngọc Bình

    8 Tháng Mười, 2010 at 11:01 sáng

    Anh ơi cho em hỏi nếu muốn tính tăng trưởng trong access phải làm thế nào vậy, em không biết làm cách nào để có được ” trễ ” của 1 chuỗi số liệu

     
  3. kebactinhdn

    9 Tháng Tư, 2011 at 8:02 chiều

    Cảm ơn nha, những thông tin cần thiết thật

     
  4. phương đạt

    21 Tháng Ba, 2012 at 9:22 chiều

    “Anh ơi cho em hỏi nếu muốn tính tăng trưởng trong access phải làm thế nào vậy, em không biết làm cách nào để có được ” trễ ” của 1 chuỗi số liệu” cho chế độ auto là ok!

     
  5. Lee Phu

    6 Tháng Chín, 2012 at 1:03 chiều

    Còn nữa ko vậy ???

     
  6. Quy

    12 Tháng Mười Một, 2012 at 4:29 sáng

    anh ơi, em có 1 cái bảng với 3 trường.
    em muốn trường thứ 3 sẽ là giá trị lớn nhấn của trường thứ 1 và trường thứ 2. Vậy thì phải làm thế nào ạ?

     

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

 
Theo dõi

Get every new post delivered to your Inbox.

%d bloggers like this: