CREATE TABLE phonebook(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(80) NOT NULL,
phonenum varchar(20) DEFAULT '010-0000-0000',
email varchar(100),
regdate datetime DEFAULT now()
);
테이블에 레코드 추가(생성)
컬럼이름이 생략된 경우 테이블이 정의된 컬럼 순서와 같은 순서로 입력
INSERT INTO phonebook VALUES(4, 'jake', '010-1234-5678', 'test@test.com', '2021-10-06 21:06:23');
INSERT INTO phonebook (id, name, phonenum) VALUES (3, '홍길동', '010-1111-2222');
[코드 예시]
INSERT INTO phonebook VALUES(1, '홍길동', '11-111-111', 'hong@mail.com', '2021-08-01');
INSERT INTO phonebook VALUES(2, '김재동', '22)222-2222', null, now());
INSERT INTO phonebook (id, name) VALUES (5 , '마징가');
INSERT INTO phonebook (name) VALUES ('토르'); # Mysql 에선 가능!
INSERT INTO phonebook (id) VALUES (7); # 에러
INSERT INTO phonebook (name, regdate) VALUES('아이어맨', '2010-08-23');
UPDATE [테이블이름] SET [컬럼이름] = [데이터], ...
WHERE [조건식];
[코드 예시]
UPDATE phonebook SET name = 'jesse' WHERE id = 4;
UPDATE phonebook SET email = 'jesse@mail.com' WHERE id = 4;
UPDATE phonebook SET email='jake@mail.com', name = '김갑환' WHERE id = 3;
UPDATE phonebook SET name = '로켓' WHERE id = 3;
UPDATE phonebook SET id = id + 10 WHERE id > 3;
UPDATE phonebook SET phonenum='45456-77', email='kim@naver.com' WHERE name='김재동';
UPDATE phonebook SET name='hong' WHERE regdate < '2021-08-10';
# null 여부 비교
SELECT * FROM phonebook where email is null;
SELECT * FROM phonebook where email is not null;
UPDATE phonebook SET email='mail@default' WHERE email IS NULL;
주의! WHERE 조건식이 없을 경우, 테이블의 모든 레코드 데이터가 삭제됨!!
DELETE FROM [테이블 이름] WHERE [조건식];
[코드 예시]
DELETE FROM phonebook WHERE id = 3;
CREATE TABLE inventory(
uid int primary key auto_increment,
content varchar(200)
);
INSERT INTO inventory(content) VALUES('aaaa');
INSERT INTO inventory(content) VALUES('bbbb');
INSERT INTO inventory(content) VALUES('cccc');
mysql> SELECT * FROM inventory;
+-----+---------+
| uid | content |
+-----+---------+
| 1 | aaaa |
| 2 | bbbb |
| 3 | cccc |
+-----+---------+
3 rows in set (0.00 sec)
> system cls
혹은
> \! cls
외부에서 만든 DDL 이나 쿼리문 파일을 실행시킬때는
source <파일명>;
source d:/mysql/test.sql;
source명령어의 파일명을 쓸때는 반드시 "\"대신에 "/"를 써주어야된다.
sql 실행한 경로와 같은 경로에 있는 경우에는 상대경로로 사용해도 된다. (시스템에 따라 다를수도 있음)
> show variables like 'c%';
> status
linux 에 설치된 경우
수정
/etc/my.cnf
재시작
$ service mysqld restart