Tải bản đầy đủ (.docx) (7 trang)

SQL sever 2008 create new database

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.96 KB, 7 trang )

Giới thiệu tổng quát:
Các lệnh cơ bản
Data Definition
1.Lệnh Create Table:
2.Lệnh Drop Table
Data Manipulation
1.Lệnh Insert Into
2.Lệnh Select
Gi i thi u t ng quát:ớ ệ ổ
SQL (structured query language) là ngôn ngữ dùng để truy vấn các dữ liệu có cấu trúc. SQL
được hỗ trợ ở hầu hết các hệ thống quản lý cơ sở dữ liệu như MS Access, SQL server,
MySQL, Postgres, …
Các câu lệnh trong SQL được phân chia thành 3 loại chính:
-Data Definition
-Data Manipulation
-Data Control
Các l nh c b nệ ơ ả
Data Definition
1.L nh Create Table:ệ
Câu lệnh Create Table dùng để tạo bảng dữ liệu.
Cấu trúc chính của lệnh Create Table
Create Table table_name
(
column_name1 data_type(size) [attributes],
column_name2 data_type(size) [attributes],
column_name3 data_type(size) [attributes],

[constraints]
)
Ví dụ
Tạo bảng dữ liệu tên là Customer, với các cột dữ liệu sau:


-CustID kiểu Int, không được trống, là khoá chính
-CustName kiểu Nvarchar(30), không được trống
-ShipCity kiểu Nvarchar(30), được trống
-Discount kiểu Float, được trống
Create Table Customer
(
1/7
CustID Int Not Null Primary Key,
CustName NvarChar(30) Not Null,
ShipCity NvarChar(30) Null,
Discount Float Null
)
Tạo bảng dữ liệu Employee với các các cột dữ liệu và ràng buộc(constraint) sau:
-EmpId kiểu Int, không được trống, là khoá chính
-FirstName kiểu Nvarchar(30), không được trống
-LastName kiểu Nvarchar(30), không được trống
-MgrEmpId kiểu Int, được trống
-Ràng buộc tên là FkEmpMgr có MgrEmpId là khoá ngoại tham khảo đến EmpId trong bảng
Employee.
Create Table Employee
(
EmpID Int Not Null Primary key,
FirstName NvarChar(30) Not Null,
LastName VarChar(30) Not Null,
MgrEmpId Int Null ,
Constraint FkEmpMgr Foreign Key (MgrEmpId) References Employee (EmpId)
)
Tạo bảng SaleOrder
Create Table SaleOrder
(

OrderID Int Primary key,
CustID Int Not Null,
TotalAmount Money Not Null,
SaleDate DateTime Not Null,
ShipDate DateTime Null,
EmpID Int
Constraint FkSaleCust Foreign Key (CustID) References Customer (CustID)
Constraint FK_SaleEmp Foreign Key(EmpID) References Employee (EmpID)
)
2.L nh Drop Tableệ
Câu lệnh Drop Table dùng để xoá bảng dữ liệu.
Cấu trúc chính của lệnh Drop Table
Drop Table table_name
2/7
Data Manipulation
1.L nh Insert Intoệ
Lệnh Insert Into dùng để thêm dữ liệu trong bảng dữ liệu
Cấu trúc của lệnh Insert Into
Insert Into table_name(column_list) Values(value_list)
Ví dụ
Thêm vào bảng Employee nhân viên mới có thông tin như sau:
(EmpID = 1, FirstName = ‘Peter', LastName = ‘Chang')
Insert Into Employee(EmptID, FirstName, LastName) Values(1, ‘Peter', ‘Chang')
Bài tập
a.Thêm các nhân viên sau vào bảng Employee
EmpID FirstName LastName MgrEmpId
2 Mary Wong
3 Paul Brown 1
4 Maggie Cross 2
5 John Perry 2

b.Thêm các khách hàng sau vào bảng Customer
CustId CustName ShipCity Discount
1 Linda Nguyen Ho Chi Minh 0
2 Neal Caffrey Singapore 0.1
3 Derek Nguyen Ha Noi 0.05
4 Alex Hunter Singapore 0
c.Thêm các hoá đơn sau vào bảng SaleOrder
OrderId CustId ToatalAmount SaleDate ShipDate EmpId
1 1 1000 23/01/2014 29/01/2014 3
2 1 1500 08/02/2014 11/02/2014 4
3 2 2000 05/02/2014 15/02/2014 4
4 3 1800 30/01/2014 21/02/2014 5
5 4 1200 20/02/2014 27/02/2014 5
2.L nh Selectệ
Lệnh Select dùng để truy xuất dữ liệu.
Cấu trúc của lệnh Select
Select [Distinct] [Top n / Top n Percent] Column list
From Table list
[Where condition]
[Group By col name [Having condition] ]
3/7
[Order By <col> [ASC] [, <col> [DESC] ]…. ]
[Compute AggregateFunction(col) ]
Các phép toán sử dụng trong lệnh Select:
> >= < <= = <>
Is Null
Is Not Null
Between … And …
In (value lists)
Like : % string %

Not And Or
Một số hàm sử dụng trong SQL
count(column_name)
sum(column_name)
avg(column_name)
max(column_name)
min(column_name)
Hàm thời gian
getdate()
day(date_column)
month(date_column)
year(date_column)
datepart(datepart_name, date_column) datepart : day, month, year, dayofyear, week,
weekday, hour, minute, second
Ví dụ
Lấy tất cả dữ liệu của nhân viên
Select EmpId, FirstName, LastName, MgrEmpId
From Employee
Lấy dữ liệu CustId, CustName, Discount của khách hàng, sắp xếp giảm dần theo Discount
Select CustId, CustName, Discount
From Customer
Order By Discount DESC
Lấy dữ liệu của nhân viên có EmpId bằng 3
Select EmpId, FirstName, LastName, MgrEmpId
From Employee
Where EmpId = 3
Lấy dữ liệu khách hàng có ShipCity là ‘Ha Noi'
Select CustId, CustName, Discount
4/7
From Customer

Where ShipCity = ‘Ha Noi'
Lấy dữ liệu khách hàng trong tên có từ ‘Nguyen'
Select CustId, CustName, Discount, ShipCity
From Customer
Where CustName Like ‘%Nguyen%’
Lấy dữ liệu khách hàng có ShipCity là ‘Ha Noi' hay ‘Ho Chi Minh'
Select CustId, CustName, Discount
From Customer
Where ShipCity = ‘Ha Noi' or ShipCity = ‘Ho Chi Minh'
Lấy dữ liệu khách hàng trong tên có từ ‘Nguyen' và có ShipCity là ‘Ha Noi'
Select CustId, CustName, Discount, ShipCity
From Customer
Where CustName Like ‘%Nguyen%’ And ShipCity = ‘Ha Noi'
Lấy dữ liệu CustId, CustName, Discount, ShipCity của khách hàng có Discount từ 4% đến 9%
Select CustId, CustName, Discount
From Customer
Where Discount Between 0.04 And 0.09
Select CustId, CustName, Discount
From Customer
Where Discount > 0.04 And Discount < 0.09
Đếm số lượng nhân viên
Select count(EmpId) as soluong
From Employee
Tìm giá trị Discount lớn nhất của khách hàng
Select max(Discount) as maxDiscount
From Employee
Lấy hoá đơn được bán trong năm 2014
Select *
From SaleOrder
Where year(SaleDate) = 2014

Cho biết số lượng khách hàng ở từng ShipCity
Select count(ShipCity) as soluong, ShipCity
From Customer
Group By ShipCity
5/7
Bài tập
1/Lấy hoá đơn của khách hàng có Id là 1
2/Lấy nhân viên có FirstName có chứa ‘Ma'
3/Lấy hoá đơn có TotalAmount từ 800 đến 1300
4/Lấy hoá đơn có ShipDate là 27/02/2014
5/Lấy hoá đơn được bán trong tháng hai
6/Lấy hoá đơn được bán trong tháng hai năm 2014
7/Tính tổng số tiền của tất cả hoá đơn
8/Lấy TotalAmount lớn nhất
9/Tính số lượng hoá đơn trong năm 2014
10/Tính tổng tiền hoá đơn trong năm 2014
11/Tính số lượng hóa đơn giao trong tháng 2 năm 2014
12/Tính số số tiền hóa đơn giao trong tháng 2 năm 2014
13/Tính tổng số lượng hóa đơn của từng tháng năm 2014 theo ngày bán
14/Tính tổng số tiền hóa đơn của từng tháng năm 2014 theo ngày bán
3.Inner Join
Inner join dùng để kết hợp nhiều nhiều bảng có liên quan khi truy xuất dữ liệu.
Cấu trúc của Inner Join:
Select column list
From table_name1 Inner Join table_name2 On join_condition [Inner Join table_name3 On
join_condition]
Ví dụ
Lấy thông tin SaleOrder có kèm thông tin nhân viên phụ trách Order
Select OrderId, SaleDate, TotalAmount, FirstName, LastName
From SaleOrder Inner Join Employee on SaleOrder.EmpId = Employee.EmpId

Lấy hoá đơn do John phụ trách
Select OrderId, SaleDate, TotalAmount, FirstName, LastName
From SaleOrder Inner Join Employee on SaleOrder.EmpId = Employee.EmpId
Where FirstName = ‘John'
Bài tập
1/Lấy thông tin SaleOrder có kèm thông tin khách hàng
2/Lấy thông tin SaleOrder được chuyển đến Singapore
3/Lấy thông tin SaleOrder được chuyển đến Singapore trong tháng 2 năm nay
4/Lấy thông tin SaleOrder được chuyển đến Singapore trong tháng hiện tại
5/Lấy thông tin SaleOrder có kèm thông tin nhân viên phụ trách Order và thông tin khách hàng
6/Lấy thông tin SaleOrder có kèm số tiền sau khi Discount
7/Tính số hóa đơn của từng khách hàng
8/Tính số hóa đơn của từng nhân viên
9/Tính tổng tiền hóa đơn của từng khách hàng
10/Tính tổng tiền hóa đơn của từng nhân viên
6/7
4.L nh Updateệ
Lệnh Update dùng để cập nhật dữ liệu.
Cấu trúc của lệnh Update
Update table_name
Set column_name=valpue [, column_name=value]
[Where condition]
Ví dụ:
Cập nhật tên của khách hàng có CustId = 1 thành 'Peter Burge'
Update Customer
Set CustName = 'Peter Burge'
Where CustId = 1
Cập nhật Discount của khách hàng bằng 0
Update Customer
Set Discount = 0

5.L nh Delete ệ
Lệnh Delete dùng để xóa dữ liệu.
Cấu trúc lệnh Delete
Delete From table_name
[Where condition]
Ví dụ
Xóa dữ liệu của nhân viên có EmpId = 1
Delete From Employee
Where EmpId = 1
7/7

×