MySQL 기본 명령어

黄舟
풀어 주다: 2017-01-16 13:27:09
원래의
1064명이 탐색했습니다.

Mysql 설치 방법
MySQL 설치 방법에는 RPM 설치, 소스코드 컴파일 설치, 범용 바이너리 형식 패키지 설치 세 가지가 있습니다.

RPM을 통한 설치, yum 명령을 직접 사용하여 RPM 패키지를 설치하거나 다운로드한 후 설치할 수 있습니다.

yum 설치 명령:
yum -y install mysql-server
시스템은 자동으로 문제 종속성을 해결하고 mysql 클라이언트도 설치합니다.

mysql 대화형 모드의 명령 범주:
클라이언트 명령: 클라이언트에서 실행되는 명령

서버 명령: 서버에서 실행되고 결과가 클라이언트로 반환됩니다. 명령문 종결자를 사용해야 합니다. 기본값은 ";"입니다. mysql이 실행되는 동안 메모리에 위치하는 정보입니다. 일반적으로 해당 데이터는 mysql이 시작될 때만 사용할 수 있습니다. 비어 있는.

test: 테스트에 사용되는 데이터베이스

mysql: mysql 데이터베이스 MySQL 기본 명령어

MySQL 데이터베이스 디렉터리:

[root@host2 ~]# ls /var/lib/mysql/
ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.sock  test
로그인 후 복사

information_schema 데이터베이스가 없음을 알 수 있기 때문입니다. 그것은 메모리에 저장됩니다.

MySQL 일반 명령:

DDL: 데이터베이스 개체 정의:
CREATE:

ALTER:


DROP:

DML : 데이터 조작 언어
INSERT

UPDATE

DELETE

DCL 데이터 제어 언어
GRANT:

REVOKE:

데이터베이스 생성:
CREATE DATABASE db_name;

존재하지 않는 경우 데이터베이스 생성 testdb;

mysql> CREATE DATABASE test_db;
Query OK, 1 row affected (0.00 sec)
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| test_db            |
+--------------------+
4 rows in set (0.01 sec)
로그인 후 복사

데이터베이스 삭제:

DROP DATABASE db_name;
mysql> DROP DATABASE test_db;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)
로그인 후 복사

테이블 생성:
CREATE TABLE tb_name(col1,col2,...) col1,col2는 필드 이름입니다

참고: 테이블은 데이터베이스에 따라 다르므로 테이블을 생성하기 전에 다음을 확인하세요. 기본 데이터베이스를 지정하려면

USER DATABASE; 명령을 사용하여 데이터베이스를 지정하세요.
이름, 나이, 성별 세 개의 필드가 포함된 학생이라는 테이블을 만듭니다

mysql> CREATE TABLE students(Name CHAR(20) NOT NULL, Age TINYINT UNSIGNED,Gender CHAR(1) NOT NULL);
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW TABLES;
+-------------------+
| Tables_in_test_db |
+-------------------+
| students          |
+-------------------+
1 row in set (0.00 sec)
로그인 후 복사

데이터베이스의 테이블 보기:

DB_name의 테이블 표시;

테이블 구조 보기:
DESC table_name;

mysql> DESC students;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| Name   | char(20)            | NO   |     | NULL    |       |
| Age    | tinyint(3) unsigned | YES  |     | NULL    |       |
| Gender | char(1)             | NO   |     | NULL    |       |
+--------+---------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
로그인 후 복사

테이블 삭제:

DROP TABLE tb_name;


테이블 수정:
ALTER TABLE tb_name;

MODIFY: 필드 수정, 필드 속성 수정, 필드 이름은 변경되지 않음

CHANGE: 필드 변경, 필드 이름 변경

ADD:필드 추가

DROP: 필드 삭제

도움말 정보는 help 명령을 통해 쿼리할 수 있습니다:

help CREATE TABLE;

추가 필드
예: 앞서 생성한 학생 테이블을 수정하고 필드 강좌

mysql> ALTER TABLE students ADD course VARCHAR(100);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC students;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| Name   | char(20)            | NO   |     | NULL    |       |
| Age    | tinyint(3) unsigned | YES  |     | NULL    |       |
| Gender | char(1)             | NO   |     | NULL    |       |
| course | varchar(100)        | YES  |     | NULL    |       |
+--------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
로그인 후 복사

를 추가합니다. 필드 이름을 수정합니다. 예를 들어 위에 추가한 코스 필드 이름을 Course
mysql> ALTER TABLE students CHANGE course Course VARCHAR(100);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC students;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| Name   | char(20)            | NO   |     | NULL    |       |
| Age    | tinyint(3) unsigned | YES  |     | NULL    |       |
| Gender | char(1)             | NO   |     | NULL    |       |
| Course | varchar(100)        | YES  |     | NULL    |       |
+--------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
로그인 후 복사
<🎜로 변경합니다. > 필드 삭제:
DROP col_name;

데이터 삽입:
INSERT  INTO  tb_name (col1,col2,...) VALUES|VALUE (&#39;STRING&#39;,NUM...);
로그인 후 복사


위 명령의 의미: 테이블에 데이터를 삽입합니다. 필드 이름은 col1, col2,...입니다. 삽입된 값이 문자열이면 따옴표로 묶습니다. 숫자 값인 경우 숫자를 직접 사용하세요. 각 필드에 값이 지정되면 필드 이름을 쓸 필요가 없습니다

예: 학생 테이블에 Zhang San과 Li Si

mysql> INSERT INTO students (Name,Gender) VALUE (&#39;ZhangSan&#39;,&#39;M&#39;),(&#39;LiSi&#39;,&#39;F&#39;);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
로그인 후 복사
<🎜라는 두 개의 데이터를 삽입합니다. >데이터 보기

mysql> SELECT * FROM students;
+----------+------+--------+--------+
| Name     | Age  | Gender | Course |
+----------+------+--------+--------+
| ZhangSan | NULL | M      | NULL   |
| LiSi     | NULL | F      | NULL   |
+----------+------+--------+--------+
2 rows in set (0.01 sec)
로그인 후 복사

사용자 삽입, 모든 필드에 값이 있음:

모든 필드에 값이 있으므로 필드 이름을 지정할 필요가 없습니다.

mysql> INSERT INTO students VALUES (&#39;ZengChengpeng&#39;,28,&#39;M&#39;,&#39;IT&#39;);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM students WHERE Name=&#39;ZengChengpeng&#39;;
+---------------+------+--------+--------+
| Name          | Age  | Gender | Course |
+---------------+------+--------+--------+
| ZengChengpeng |   28 | M      | IT     |
+---------------+------+--------+--------+
1 row in set (0.00 sec)
로그인 후 복사

데이터 수정:

UPDATE tb_name SET 컬럼=값 WHERE 조건

예: ZengChengpeng의 강좌 이름을 Development
mysql> UPDATE students SET Course=&#39;Develop&#39; WHERE Name=&#39;ZengChengpeng&#39;;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> SELECT * FROM students WHERE Name=&#39;ZengChengpeng&#39;;
+---------------+------+--------+---------+
| Name          | Age  | Gender | Course  |
+---------------+------+--------+---------+
| ZengChengpeng |   28 | M      | Develop |
+---------------+------+--------+---------+
1 row in set (0.00 sec)
로그인 후 복사

SELETE 문으로 변경:

select 문 포인트 두 경우 모두

选择:指定以某字段作为搜索码,做逻辑比较,筛选符合条件的行。WHERE指定选择条件
    
投影:指定以某字段作为搜索码,做逻辑比较,筛选符合条件的字段。
mysql> SELECT Name,Course FROM students WHERE Gender=&#39;M&#39;;   
+---------------+---------+
| Name          | Course  |
+---------------+---------+
| ZhangSan      | NULL    |
| ZengChengpeng | Develop |
+---------------+---------+
로그인 후 복사

데이터 삭제:

DELECT FROM tb_name WHERE 조건

사용자 생성:
CREATE USER 'USERNAME'@'HOST; ' '비밀번호'로 식별됨

사용자 삭제:

DROP USER 'USERNAME'@'HOST';

HOST:

IP:

HOSTNAME:

NETWORK:

와일드카드: 와일드카드는 따옴표로 묶습니다.

_: 밑줄은 모든 단일 문자와 일치합니다. 예: 172.16.0._

%: 모든 문자와 일치:

jerry@'%'

사용자 권한:
권한 추가:
GRANT pri1,pri2,... ON DB_NAME .TB_NAME TO 'USERNAME'@' HOST' [IDENTIFIED BY 'PASSWORD'];
pri1 pri2는 권한 이름을 나타내며 모든 권한은 ALL PRIVILEGES
권한 취소:
REVOKE pri1, pri2로 표시됩니다. .. ON DB_NAME.TB_NAME FROM 'USERNAME' @'HOST';

사용자 생성 예:

mysql> CREATE USER &#39;jerry&#39;@&#39;%&#39; IDENTIFIED BY &#39;jerry&#39;;
로그인 후 복사

사용자 권한 보기:
SHOW GRANTS FOR 'USERNAME'@'HOST';
mysql> SHOW GRANTS FOR jerry@&#39;%&#39;;
+------------------------------------------------------------------------------------------------------+
| Grants for jerry@%                                                                                   |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO &#39;jerry&#39;@&#39;%&#39; IDENTIFIED BY PASSWORD &#39;*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0&#39; |
+------------------------------------------------------------------------------------------------------+
로그인 후 복사


예: 데이터베이스의 모든 테이블에 대한 모든 권한 부여 jerry user test_db
mysql> GRANT ALL PRIVILEGES ON test_db.* TO &#39;jerry&#39;@&#39;%&#39;;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR &#39;jerry&#39;@&#39;%&#39;;
+------------------------------------------------------------------------------------------------------+
| Grants for jerry@%                                                                                   |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO &#39;jerry&#39;@&#39;%&#39; IDENTIFIED BY PASSWORD &#39;*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0&#39; |
| GRANT ALL PRIVILEGES ON `test_db`.* TO &#39;jerry&#39;@&#39;%&#39;                                                   |
+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
로그인 후 복사
取消所有权限:
mysql> REVOKE ALL PRIVILEGES ON test_db.* FROM jerry@&#39;%&#39;;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR &#39;jerry&#39;@&#39;%&#39;;                      
+------------------------------------------------------------------------------------------------------+
| Grants for jerry@%                                                                                   |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO &#39;jerry&#39;@&#39;%&#39; IDENTIFIED BY PASSWORD &#39;*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0&#39; |
+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
로그인 후 복사

以上就是MySQL基本命令的内容,更多相关内容请关注PHP中文网(www.php.cn)!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿