SQL Server, MySQL DBA Commands 비교 (1)
SQL Server DBA가 MySQL DB를 처음 운영하게 되었을 때, 본인에게 익숙한 시스템프로시저(SQL Server에서의 정식명칭은 "데이터베이스 엔진 저장 프로시저"라고 합니다.)가 MySQL에서 뭔지 몰라서 매번 Commands를 찾아봤던 것 같습니다.
이 포스팅은 누군가에게 그런 수고스러움을 덜어주려는 목적으로 작성하였습니다.물론 그 반대의 경우(MySQL DBA -> SQL Server DBA)에도 유용할 것입니다.
실은 CREATE DATABASE, CREATE TABLE 같은 경우 그 세세함의 깊이는 한 두 차례의 포스팅으로는 이루 COVER할 수 없습니다.
이 포스팅은 해당 Command의 가장 쉽고 기본적인 사용으로 비교했습니다. 더 자세한 옵션들은 해당 DBMS의 메뉴얼에서 Command를 보고 찾아가시면 될 것입니다.
DBA가 자주 사용하는 Commands 위주로 정리를 하였으며, 계속 새로운 글로 추가해 나갈 예정입니다.
[SQL Server]
-- SQL Server Version 확인
SELECT @@VERSION
/*
Microsoft SQL Server 2014 - 12.0.2000.8 (X64)
Feb 20 2014 20:04:26
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
*/
-- 데이터베이스 이름 확인, 복구모드 확인, Compatibility_level 확인 등...
EXEC sp_helpdb;
GO
/*
master 7.38 MB sa 1 Apr 8 2003 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=SIMPLE, Version=782, Collation=Korean_Wansung_CI_
model 5.19 MB sa 3 Apr 8 2003 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=FULL, Version=782, Collation=Korean_Wansung_CI_
msdb 20.63 MB sa 4 Feb 20 2014 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=SIMPLE, Version=782, Collation=Korean_Wansung_CI_
tempdb 8.50 MB sa 2 Jun 20 2014 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=SIMPLE, Version=782, Collation=Korean_Wansung_CI_
yoonsy 5.23 MB yoonsy-PC\yoonsy 5 Jun 8 2014 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=FULL, Version=782, Collation=Korean_Wansung_CI_
*/
-- USER DATABSE "yoonsy" 연결
USE yoonsy
GO
-- Command(s) completed successfully.
-- 테이블 생성
CREATE TABLE dbo.TB_1
(a INT, B VARCHAR(10))
GO
-- 인덱스 생성
CREATE INDEX NCI_TB_1 ON dbo.TB_1 (a)
GO
-- 테이블 정의 보기
EXEC sp_help TB_1
GO
-- 인덱스 정의 보기
EXEC sp_helpindex TB_1
GO
/*
index_name index_description index_keys
NCI_TB_1 nonclustered located on PRIMARY a
*/
-- 데이터베이스내 테이블 오브젝트 리스트업 (User Table 및 시스템 테이블 VIEW 까지 나옴)
EXEC sp_tables
GO
[MySQL]
-- MySQL Version 확인
SHOW VARIABLES LIKE 'VERSION';
/*
version 5.1.71
*/
SHOW DATABASES;
/*
information_schema
mysql
test
yoonsy
*/
-- USER DATABSE "yoonsy" 연결
USE yoonsy;
-- Executed Successfully
-- 테이블 생성
CREATE TABLE TB_1
(a INT, B VARCHAR(10))
;
-- 인덱스 생성
CREATE INDEX NCI_TB_1 ON TB_1 (a);
-- 테이블 생성문 보기
SHOW CREATE TABLE TB_1;
/*
TB_1 CREATE TABLE `TB_1` ( `a` int(11) DEFAULT NULL, `B` varchar(10) DEFAULT NULL, KEY `NCI_TB_1` (`a`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
*/
-- 테이블 정의 보기
DESC TB_1;
-- 인덱스 정의 보기
SHOW INDEX FROM TB_1;
/*
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
TB_1 1 NCI_TB_1 1 a A YES BTREE
*/
-- 데이터베이스내 테이블 오브젝트 리스트업 (User Table만 나옴)
SHOW TABLES;
-- TB_1
By 윤성용, Microsoft SQL Server MVP @ South Korea.