Người lười biếng thường hay chả muốn làm nhiều, sau đây là một số script sql dành cho copy/paste:
(thay phần bôi đậm bằng nội dung thực tế)
> Ghi chú trong SQL script
1. Ghi chú 1 dòng, sử dụng --
VD: select * from users -- tất cả các dòng trong bảng users
2. Ghi chú khối, sử dụng /* */
VD:
/*
Ghi chú hàng 1
Ghi chú hàng 2
*/
> Wildcard character
%: thay thế cho nhiều ký tự hoặc không ký tự nào.
_ : thay thế cho 1 ký tự
VD:
SELECT * FROM USERS
WHERE USERNAME LIKE 'M%'
--M% có thể là: Minh, Mạnh, M, Mai...
SELECT * FROM USERS
WHERE USERNAME LIKE 'N_M'
-- N_M có thể là: NAM, NẤM, NEM...
> Tạo database, tạo user, cấp quyền owner
a. Tạo database
USE [MASTER]
CREATE DATABASE [TENDB]
CREATE LOGIN TENUSER WITH PASSWORD=N'MATKHAU', DEFAULT_DATABASE=[TENDB]
//mật khẩu sẽ phải tuân theo password rule của windows, trường hợp không muốn theo rule của windows + password không hết hạn sử dụng sau 1 thời gian thì có thể thêm một số tùy chọn vào
CREATE LOGIN TENUSER WITH PASSWORD=N'MATKHAU', DEFAULT_DATABASE=[TENDB], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
USE [TENDB]
CREATE USER [TENUSER] FOR LOGIN [TENUSER]
EXEC SP_ADDROLEMEMBER N'DB_OWNER', N'TENUSER'
b. Xóa database, user
USE [TENDB]
DROP USER [TENUSER]
USE [MASTER]
DROP LOGIN [TENUSER]
DROP DATABASE [TENDB]
c. Backup database
BACKUP DATABASE [TENDB]
TO DISK = N'D:\BACKUP\TENFILE.BAK'
WITH INIT, COMPRESSION
trong đó:
-INIT: ghi đè lên file nếu trùng tên
-COMPRESSION: nén file
d. Restore database
RESTORE DATABASE [TENDB] FROM DISK = N'D:\SQL\DB.bak' WITH FILE = 1, MOVE N'tendb_data' TO N'D:\SQL\DB.mdf', MOVE N'tendb_log' TO N'D:\SQL\DB.ldf', KEEP_REPLICATION, NOUNLOAD, REPLACE, STATS = 5
VD:
BACKUP DATABASE [tendb] TO DISK = N'D:\SQL\tendb.BAK' WITH NOFORMAT, NOINIT, NAME = tendb-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
USE [master]
RESTORE DATABASE [tendb] FROM DISK = N'D:\SQL\tendb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5
GO
USE [tendb]
GO
ALTER DATABASE [tendb] MODIFY FILE (NAME=N'tendbold_db_data', NEWNAME=N'tendb_db_data')
GO
USE [tendb]
GO
ALTER DATABASE [tendb] MODIFY FILE (NAME=N'tendbold_db_log', NEWNAME=N'tendb_db_log')
GO
e. Set recovery mode
ALTER DATABASE [MODEL] SET RECOVERY FULL
ALTER DATABASE [MODEL] SET RECOVERY SIMPLE
> Database information
select * from sys.master_files
where name like '%tenbd%' or physical_name like '%tendb%'
-- cột [name] tương ứng với [logical name]
-- name, physical_name, size [Bytes], max_size [-1 unlimited], growth [Bytes], is_percent_growth [0/1]
ALTER DATABASE [tenbd] MODIFY FILE (NAME=N'tencu', NEWNAME=N'tenmoi')
-- thay đổi logical name của các file db
ALTER DATABASE [tenbd] MODIFY FILE ( NAME = N'tên', FILEGROWTH = 102400KB )
-- file growth 102400KB / 1024 = 100MB
ALTER DATABASE [tenbd] MODIFY FILE ( NAME = N'tên', FILEGROWTH = 20% )
-- 20% growth
ALTER DATABASE [tenbd] MODIFY FILE ( NAME = N'tên', MAXSIZE = 512000KB )
-- max size là 512000KB / 1024 = 500MB
DBCC SHRINKDATABASE (N'tendb', 10)
DBCC SHRINKDATABASE (N'tendb')
DBCC SHRINKFILE (N'tendb' , 0, TRUNCATEONLY)
> TABLE SCRIPTS:
> Table #1 (Insert, Update, Delete):
a. INSERT
#1:
insert [ten_table] (tencot1, tencot2..)
values (giatri1, giatri2...)
VD:
insert Nhavien (maso, ten, gioitinh)
values (482, N'Nguyen Van A', 0)
#2:
insert into [ten_table] (tencot1, tencot2..)
select (tencota, tencotb..)
from [ten_table]
where [điều kiện]
b. UPDATE
update [ten_table]
set password = 'mk_moi'
where userid = [user_id]
VD:
update [webpages_membership]
set password = 'AIVOHTC1sKNgwcC1gykk4DtfQtuO9UITCjvP17jK9DlTp4gv3740WZbh5Qb+BBINbg=='
where userid = (select userid from [userprofile] where username = 'administrator')
c. DELETE
DELETE FROM <table name> WHERE <condition>
VD:
-- delete all rows in table Users
delete from users
--delete rows where username have the second character is 'c'
delete from User
where username like '_c%'
> Table #2: Create - Alter - Drop:
a. Create
b. Alter
alter table
c. Drop
Nhận xét
Đăng nhận xét