Chuyển đến nội dung chính

SQL Script dành cho người lười - Some simple SQL scripts

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 (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


Truncate + Shrink database:

truncate table [ten_table]

DBCC SHRINKDATABASE ([ten_db], 10);

Nhận xét

Bài đăng phổ biến từ blog này

Trỏ tên miền vào website tạo tại blogspot.com

 blogspot.com hay blogger.com cung cấp website miễn phí dạng coidat.blogspot.com , dinhnhusam.blogspot.com Thay vì sử dụng 1 tên miền theo đuôi .blogspot.com, bạn có thể dùng 1 tên miền được đăng ký bên ngoài sau đó trỏ tên miền này vào website được tạo trên blogspot của bạn. Thực hiện trỏ tên miền vào website tạo tại blogspot theo các bước sau: Bước 1: Vào blogspot khai báo tên miền cần thêm vào Bước 2: Nhập tên miền theo đúng định dạng Bước 3: Đăng nhập vào tài khoản quản trị tên miền của bạn (Không cần thực hiện bước này nếu tên miền được đăng ký tại google) Bước 4:  Tạo các record theo yêu cầu của Google  (Không cần thực hiện bước này nếu tên miền được đăng ký tại google) Bước 5: Cấu hình SSL cho website Chi tiết các bước thực hiện: Bước 1 : Vào blogspot khai báo tên miền cần thêm vào Đăng nhập vào blogspot.com, vào đến mục Cài đặt (Settings) > Miền tùy chỉnh (Custom domain) như hình Bước 2 : Nhập tên miền theo đúng định dạng Nhập tên miền có dạng www. .Khi trỏ tên miền sẽ có lư

CG - Cỏ, có nên để cỏ mọc trong chậu xương rồng

 Cỏ Cỏ là gì? Trước, chúng ta sẽ nhận biết với người chơi xương rồng thì cỏ là gì. Trong chậu xương rồng, ngoài xương rồng ra thì thứ gì mọc thêm trong chậu xương rồng mà chúng ta không muốn nó mọc thì chúng ta sẽ gọi nó là cỏ.  Trong vườn nhà Cóc (Cóc Garden), cỏ có một số loại sau đây. Để mình chụp lại từ từ cho các bạn xem: Ở đâu ra tụi này? Trước vườn nhà mình cũng có 1 ít cỏ, đó là cái hồi trồng mà trộn đất có phân bò. Ôi, nó đủ loại cỏ kèm theo mấy đứa nhăng nhít đi theo về (ốc sên, cuốn chiếu, rít, sùng đất...). Để nhớ lại coi, vườn mình có 1 loại hồi xưa rất chi là đau khổ là cỏ gấu, mình chưa có chụp hình loại này trong vườn của mình, nên lấy 1 tấm trên mạng về cho bà con xem tham khảo nha: Rất chi là đau khổ với tụi này, nhổ cũng không xong vì tụi nó mọc tràn lan, rễ đâm tứ tung trong chậu, mỗi đầu là lòi ra 1 cây cỏ lên mặt đất. Thùng xốp nhà mình lủng tùm lum cũng tại tụi nó mà ra. Thay đất mà để sót 1 củ còn lại là nó lên ầm ầm. Điên máu và nản đến độ quăng luôn cả thùng.