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

Chứng chỉ SSL - các dạng khác nhau - different ssl certificate format

 Tùy theo cấu hình server, chứng chỉ ssl có thể phải chuyển đổi sang các dạng khác nhau cho tương thích: - Windows server sử dụng file .pfx - Apache server sử dụng file .crt, .cer Thông tin chứng chỉ SSL có thể thường được cung cấp dưới dạng sau (Dạng PEM): Phần này là private key: -----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDZgq+0hUok18fb PRPNlJM4+/ANA9c329wUGGUyJwWvHNiqNgluuqp1VjtFQfoaraXaPK1g16M8HRlH NPckoFKZaTfCh9u+Xm3wiarj4i ...  CUCgYAn55Na3tvRisIUEVc2 K36njpoNhQ9kxjoPzFUIjccsAO9/Mt8eXL1xBdX38ox/0g+fTkLqotT6+ERWhRti fz/xoHov8rii6yDaSMMumw/DuQ8s/v6eZqN/jlqoRToEziFR5UAb4HmSQ94uki8+ 3P0hk68HHT45bb9NnnDcIZki/A== -----END PRIVATE KEY----- Phần này là certificate: -----BEGIN CERTIFICATE----- MIIGpDCCBYygAwIBAgIQCrWg6/cP1Y1qYOPaOxJk0DANBgkqhkiG9w0BAQsFADBZ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypS PB0ZRzT3JKBSmWk3w ...  dxxkfW97d5XtEixwNTce/3aCHJ1ivc f0u163DjYO3CmebXHAyd5FpszqaFrX29vQFF/1mrw7/pd77JffmP6o8BIo2xrq0f hIRi5Y1aT4uw/q+K

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ư