컬럼
ALTER TABLE '테이블명' ADD COLUMN '추가할 컬럼명' '컬럼타입' DEFAULT '디폴트값' -- 컬럼 추가 ALTER TABLE '테이블명' CHANGE COLUMN '기존컬럼명' '변경할컬럼명' '컬럼타입' -- 컬럼명 변경 -- 컬럼명 변경 ALTER TABLE '테이블명' MODIFY COLUMN '컬럼명' '변경할컬럼타입' not null -- or null. (컬럼 타입 변경) -- 컬럼타입 변경 ALTER TABLE '테이블명' ALTER COLUMN '컬럼명' SET DEFAULT '디폴트값' -- 컬럼 디폴트값 변경 ALTER TABLE '테이블명' DROP COLUMN '컬럼명' -- 컬럼 삭제
- primary key 삭제 :
ALTER TABLE '테이블명' DROP PRIMARY KEY
- primary key 추가 :
ALTER TABLE '테이블명' ADD PRIMARY KEY(컬럼명);
쿼리
# compare datetime SELECT p.PersonID, p.LastName, p.FirstName, p.city, p.HireDate FROM persons p WHERE p.HireDate >= '2020-01-01' AND p.HireDate <= '2021-12-31' ORDER BY p.HireDate ASC;
데이터베이스 Rename
[ Atlassian ] How to rename a database in Mysql
$ mysql -u dbUsername -p"dbPassword" oldDatabase -sNe 'show tables' | while read table; do mysql -u dbUsername -p"dbPassword" -sNe "RENAME TABLE oldDatabase.$table TO newDatabase.$table"; done
사용자 권한, 조회
use mysql; select user, host from user; # 사용자 목록 조회 -- 사용자 생성 create user '사용자'@'host' identified by '비밀번호'; # ex) 내부 접근을 허용하는 사용자 추가 create user 'test'@'localhost' identified by '0000'; -- 권한 # 전체 DB에 전체 권한 추가 grant all on *.* to test@localhost; # 전체 DB에 대한 select, insert 권한 추가 grant select, insert on *.* to test@localhost; # 특정 DB(mydb)에 대한 전체 권한 추가 grant all on mydb.* to test@localhost; # 특정 DB(mydb)에 대한 select, insert 권한 추가 grant select, insert on mydb.* to test@localhost; # 특정 DB(mydb)에 포함된 특정 Table(mytb)대한 전체 권한 추가 grant all on mydb.mytb to test@localhost; # 특정 DB(mydb)에 포함된 특정 Table(mytb)에 대한 select, insert 권한 추가 grant select, insert on mydb.mytb to test@localhost; -- 권한 조회 show grants for test@localhost;