-- 새로운 데이터베이스 생성
CREATE DATABASE GameDB;
-- 해당 데이터베이스 사용
USE GameDB;
CREATE TABLE accounts (
accountId INTEGER NOT NULL,
accountName VARCHAR(10) NOT NULL,
coins INTEGER DEFAULT 0,
createdTime DATETIME
);
테이블 생성 문법
CREATE TABLE 테이블명 ( 열이름 자료형 [DEFAULT 값] [NULL | NOT NULL] ... );
✅ C#으로 비유하면 다음과 같습니다:
int accountId; string accountName;
SELECT * FROM accounts;
DROP TABLE accounts;
⚠ 주의: DROP은 되돌릴 수 없으며, 전체 테이블이 삭제됩니다!
ALTER TABLE accounts
ADD lastEnterTime DATETIME;
ALTER TABLE accounts
DROP COLUMN lastEnterTime;
ALTER TABLE accounts
ALTER COLUMN accountName VARCHAR(20) NOT NULL;
SQL에서 제약 조건은 데이터 무결성과 고유성을 유지하기 위한 장치입니다.
| 제약 조건 | 설명 |
|---|---|
NOT NULL | 값을 반드시 입력해야 함 |
PRIMARY KEY | 행을 고유하게 식별하는 키 (중복/NULL 불가) |
UNIQUE | 중복을 허용하지 않음 |
FOREIGN KEY | 다른 테이블의 키를 참조 |
CREATE TABLE accounts (
accountId INTEGER NOT NULL PRIMARY KEY,
accountName VARCHAR(10) NOT NULL,
coins INTEGER DEFAULT 0,
createdTime DATETIME
);
CREATE TABLE accounts (
accountId INTEGER NOT NULL,
accountName VARCHAR(10) NOT NULL,
coins INTEGER DEFAULT 0,
createdTime DATETIME,
PRIMARY KEY (accountId)
);
ALTER TABLE accounts
ADD PRIMARY KEY (accountId);
⚠ 이름 없는 PRIMARY KEY는 삭제하기 까다롭습니다.
ALTER TABLE accounts
ADD CONSTRAINT PK_Accounts PRIMARY KEY (accountId);
-- 삭제 시
ALTER TABLE accounts
DROP CONSTRAINT PK_Accounts;
Dictionary<int, Player> players;
int → Primary Key Player → 나머지 데이터 SELECT * FROM accounts
WHERE accountId = 1111;