터미널을 열고 다음 명령을 입력하세요.
/usr/local/MySQL/bin/mysql -u root -p
여기서 루트는 사용자 이름입니다.
다음 명령이 나타납니다:
Enter password:
지금 비밀번호를 변경하지 않았다면 Enter 키를 누르세요. 그렇지 않으면 비밀번호를 입력하세요.
이렇게 하면 데이터베이스 서버에 액세스할 수 있습니다.
데이터 테이블의 기본
1.1 create 데이터베이스 생성
create database firstDB;
1.2 show 모든 데이터베이스 보기
mysql> show databases;+--------------------+| Database | +--------------------+| information_schema | | firstDB | | mysql | | performance_schema |+--------------------+rows in set (0.00 sec)
1.3 alter 데이터베이스 수정
alter 명령 수정 데이터베이스 인코딩:
기본적으로 생성된 데이터베이스는 기본적으로 한자를 지원하지 않습니다. 한자를 지원해야 하는 경우 인코딩을 utf8 형식으로 설정하세요.
mysql> ALTER DATABASE testDB CHARACTER SET UTF8;Query OK, 1 row affected (0.00 sec)
1.4 데이터베이스 사용
mysql> use firstDB; Database changed
1.5 보기 현재 사용 중인 데이터베이스
mysql> select database(); +------------+| database() | +------------+| firstdb | +------------+1 row in set (0.00 sec)
1.6 drop delete 데이터베이스
mysql> drop database firstDB; Query OK, 0 rows affected (0.00 sec)
먼저 향후 사용을 위해 데이터베이스를 생성합니다.
mysql> create database testDB;Query OK, 1 row affected (0.00 sec)
사용 후 사용을 기억하세요. ) 데이터베이스에 저장하지 않으면 후속 작업이 실패합니다.
2.1 create create table
mysql> create table PEOPLE ( -> ID int AUTO_INCREMENT PRIMARY KEY, -> NAME varchar(20) not null, -> AGE int not null, -> BIRTHDAY datetime); Query OK, 0 rows affected (0.01 sec)
2.2 show display table
현재 데이터베이스의 모든 데이터 테이블 표시
mysql> show tables; +------------------+| Tables_in_testdb | +------------------+| PEOPLE | +------------------+1 row in set (0.00 sec)
2.3 desc view 테이블 구조
mysql> desc PEOPLE -> ; +----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+| ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.01 sec)
2.4 테이블 구조 변경(추가, 삭제) , 변경)
기본적으로 생성되는 테이블은 한자를 지원하지 않으므로 테이블 인코딩을 utf8로 설정해야 합니다:
mysql> ALTER TABLE KEYCHAIN CONVERT TO CHARACTER SET UTF8; Query OK, 1 row affected (0.02 sec) Records: 1 Duplicates: 0 Warnings: 0
2.4.1 insert 테이블에 열(필드) 추가
mysql> alter table PEOPLE add star BOOL;Query OK, 0 rows affected (0.02 sec)Records: 0 Duplicates: 0 Warnings: 0
Tip : MySQL에서는 Boolean 유형이 자동으로tinyint(1) 유형으로 변환됩니다.
desc를 사용하여 PEOPLE 테이블 구조를 확인할 수도 있습니다.
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+| ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | | star | tinyint(1) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
이제 제 말을 믿으셔야겠죠?
2.4.2 alter 테이블(열) 필드 수정
mysql> alter table PEOPLE MODIFY star int;Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0
int(2)와 같이 int(n)의 길이를 지정할 수도 있습니다.
desc를 다시 사용하여 PEOPLE 테이블 구조를 봅니다:
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+| ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | | star | int(11) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
2.4.3 delete 테이블(열) 필드 삭제
mysql> alter table PEOPLE DROP column star;Query OK, 0 rows affected (0.02 sec)Records: 0 Duplicates: 0 Warnings: 0
삭제 후 PEOPLE 테이블 구조를 다시 봅니다.
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+| ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
필드 삭제에 성공했습니다. 이제 우리는 별 필드를 볼 수 없습니다.
2.4.4 rename 테이블 이름 이름 바꾸기
mysql> RENAME TABLE PEOPLE TO NEW_PEOPLE; Query OK, 0 rows affected (0.00 sec)
2.4.5 null 또는 null 아님
null을 허용하거나 허용하지 않도록 테이블 필드를 수정합니다.
mysql> ALTER TABLE PEOPLE MODIFY AGE INT(3) NULL; Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0
테이블의 AGE 필드를 변경합니다. PEOPLE 테이블 "공백 허용"으로 설정합니다. 즉, 레코드를 삽입할 때 이 필드를 입력할 필요가 없습니다. 그렇지 않으면 그 반대입니다.
형식은 ALTER TABLE MODIFY
mysql> create table newTable select * from PEOPLE; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
현재 데이터베이스에 존재하는 테이블을 확인해 보겠습니다:
mysql> show tables; +------------------+| Tables_in_testdb | +------------------+| PEOPLE || newTable | +------------------+2 rows in set (0.00 sec)
이 작업에는 데이터 추가, 삭제, 수정, 쿼리가 포함됩니다.
다음 명령은 모두 PEOPLE 테이블에서 작동합니다.
3.1 데이터 추가(증가)
현재 PEOPLE 테이블에는 데이터가 없습니다. 이제 데이터를 추가해 보겠습니다.
데이터를 추가하는 명령에 삽입:
mysql> insert into PEOPLE VALUES (null, 'Anny', 22, '1992-05-22'); Query OK, 1 row affected (0.00 sec)
select 명령을 사용하여 테이블을 봅니다(나중에 소개됩니다). 이제 PEOPLE 데이터 테이블의 데이터를 봅니다.
mysql> select * from PEOPLE; +----+------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | +----+------+-----+---------------------+1 row in set (0.00 sec)
이제 데이터 테이블에는 하나의 데이터가 있습니다.
다음과 같은 몇 가지 데이터를 추가해 보겠습니다.
mysql> select * from PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Garvey | 23 | 1991-05-22 00:00:00 | | 3 | Lisa | 25 | 1989-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 || 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+5 rows in set (0.00 sec)
3.2 데이터 삭제(삭제)
delete 명령을 사용하여 데이터 삭제:
mysql> delete from PEOPLE where name = 'Lisa'; Query OK, 1 row affected (0.01 sec)
PEOPLE 테이블 다시 쿼리:
mysql> select * from PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Garvey | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 || 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+4 rows in set (0.00 sec)
더 이상 볼 수 없음 "Lisa" 데이터라는 이름의 파일입니다.
3.3 데이터 수정(변경)
update 데이터 수정 명령:
mysql> update PEOPLE set name='Calvin' where name = 'Garvey'; Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0
PEOPLE 테이블의 내용 쿼리:
mysql> select * from PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Calvin | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 || 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+4 rows in set (0.00 sec)
"Garvey"라는 레코드가 "Calvin"으로 수정되었습니다.
3.4 데이터 쿼리(확인)
select 데이터를 쿼리하는 명령, 가장 간단한 것은 테이블의 모든 데이터를 쿼리하는 것입니다. 이는 우리가 처음에 사용한 명령입니다:
mysql> select * from PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Calvin | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 || 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+4 rows in set (0.00 sec)
형식: select * from