MySQLの基本コマンド

黄舟
リリース: 2017-01-16 13:27:09
オリジナル
1073 人が閲覧しました

Mysql のインストール方法
MySQL のインストール方法には 3 つあり、1 つは RPM インストール、1 つはソース コード コンパイル インストール、もう 1 つはユニバーサル バイナリ形式のパッケージ インストールです。

RPM モードでは、yum コマンドを直接使用して RPM パッケージをインストールまたはダウンロードしてからインストールできます。

yum インストール コマンド:
yum -y install mysql-server
システムは自動的に依存関係を解決し、mysql をインストールします。クライアント。

mysql インタラクティブ モードのコマンド カテゴリ:
クライアント コマンド: クライアントで実行されるコマンド

サーバー コマンド: サーバーで実行され、結果がクライアントに返されます。ステートメント終了文字を使用する必要があり、デフォルトは「;」です

MySQL データベース:

MySQLの基本コマンド

mysql のインストール後、デフォルトで 3 つのデータベースがあります
information_schema: の実行中にメモリに配置される情報ですmysql、mysql ランタイム データを保存します。データは mysql の起動時にのみ存在し、通常は空です。

test: テストに使用するデータベース

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 データ制御言語
許可:

REVOKE:

データベースの作成:
CREATE DATABASE db_name;

CREATE DATABASES IF NOT EXISTS testdb; _name(col1,col2,. ..)col1、col2 はフィールド名です

注: テーブルはデータベースによって異なります。したがって、テーブルを作成する前に、コマンド
USER DATABASE を使用してデータベースを指定する必要があります。
名前、年齢、性別の 3 つのフィールドを含むテーブルを作成します

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)
ログイン後にコピー

データベース内のテーブルを表示します。 SHOW TABLES FROM db_name;

テーブル構造の表示:
DESC table_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)
ログイン後にコピー

テーブルの削除:

DROP TABLE tb_name;


テーブルの変更:
ALTER TABLE tb_name;

MODIFY: フィールドの変更、フィールド属性、フィールド名を変更は変更されません

CHANGE: フィールドを変更、フィールド名を変更します

ADD: フィールドを追加します

DROP: フィールドを削除します
ヘルプコマンドを使用してヘルプ情報を照会できます:

help CREATE TABLE;フィールド
例: 前に作成した学生テーブルを変更し、フィールド コースを追加します。

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)
ログイン後にコピー

フィールド名を変更します。たとえば、上で追加したコース フィールドを追加します。名前を Course
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)
ログイン後にコピー

に変更します。フィールドを削除します。

データの挿入:
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)
ログイン後にコピー


上記のコマンドは、テーブルにデータを挿入します。フィールド名はcol1、col2、...です。挿入される値は文字列の場合、数値の場合は引用符を使用します。数値を直接使用します。各フィールドに値がある場合、フィールド名を記述する必要はありません

例: Zhang San と Li Si という 2 つのデータを学生テーブルに挿入します

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)
ログイン後にコピー

データを表示します

INSERT  INTO  tb_name (col1,col2,...) VALUES|VALUE ('STRING',NUM...);
ログイン後にコピー


Insert aユーザー、すべてのフィールドには値があります:
すべてのフィールドには値があることに注意してください。したがって、フィールド名を指定する必要はありません
mysql> INSERT INTO students (Name,Gender) VALUE ('ZhangSan','M'),('LiSi','F');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
ログイン後にコピー

データを変更します:


UPDATE tb_name SET column=value WHERE 条件

例: 名前を変更しますZengChengpeng のコースの開発

mysql> SELECT * FROM students;
+----------+------+--------+--------+
| Name     | Age  | Gender | Course |
+----------+------+--------+--------+
| ZhangSan | NULL | M      | NULL   |
| LiSi     | NULL | F      | NULL   |
+----------+------+--------+--------+
2 rows in set (0.01 sec)
ログイン後にコピー
SELETE ステートメント:

selete ステートメントは 2 つの状況に分かれています。

mysql> INSERT INTO students VALUES ('ZengChengpeng',28,'M','IT');
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM students WHERE Name='ZengChengpeng';
+---------------+------+--------+--------+
| Name          | Age  | Gender | Course |
+---------------+------+--------+--------+
| ZengChengpeng |   28 | M      | IT     |
+---------------+------+--------+--------+
1 row in set (0.00 sec)
ログイン後にコピー

データの削除:

DELECT FROM tb_name WHERE 条件;

ユーザーの作成:
CREATE USER 'USERNAME'@'HOST' IDENTIFIED BY 'PASSWORD';
ユーザーの削除 :
DROP USER 'USERNAME'@'HOST';



HOST:

IP:

HOSTNAME:

NETWORK:

ワイルドカード: ワイルドカードは引用符で囲まれています

_: アンダースコアは任意の 1 文字と一致します: 例: 172.16.0._

%: 任意の文字と一致します:

jerry@'%'

ユーザー権限:
権限の追加:
DB_NAME に pri1,pri2,... を付与します。 TB_NAME TO 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD'];
pri1 pri2 は権限名を表し、すべての権限は ALL PRIVILEGES で表されます
権限のキャンセル:
REVOKE pri1, pri2,... ON DB_NAME.TB_NAME FROM 'USERNAME'@'HOST';

ユーザーの作成例:

mysql> UPDATE students SET Course='Develop' WHERE Name='ZengChengpeng';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> SELECT * FROM students WHERE Name='ZengChengpeng';
+---------------+------+--------+---------+
| Name          | Age  | Gender | Course  |
+---------------+------+--------+---------+
| ZengChengpeng |   28 | M      | Develop |
+---------------+------+--------+---------+
1 row in set (0.00 sec)
ログイン後にコピー

ユーザー権限の表示:
SHOW GRANTS FOR 'USERNAME'@'HOST';
选择:指定以某字段作为搜索码,做逻辑比较,筛选符合条件的行。WHERE指定选择条件
    
投影:指定以某字段作为搜索码,做逻辑比较,筛选符合条件的字段。
mysql> SELECT Name,Course FROM students WHERE Gender='M';   
+---------------+---------+
| Name          | Course  |
+---------------+---------+
| ZhangSan      | NULL    |
| ZengChengpeng | Develop |
+---------------+---------+
ログイン後にコピー


例: jerry ユーザー test_db に、この内のすべてのテーブルに対するすべての権限を与えますデータベース
mysql> GRANT ALL PRIVILEGES ON test_db.* TO 'jerry'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR 'jerry'@'%';
+------------------------------------------------------------------------------------------------------+
| Grants for jerry@%                                                                                   |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'jerry'@'%' IDENTIFIED BY PASSWORD '*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0' |
| GRANT ALL PRIVILEGES ON `test_db`.* TO 'jerry'@'%'                                                   |
+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
ログイン後にコピー
取消所有权限:
mysql> REVOKE ALL PRIVILEGES ON test_db.* FROM jerry@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR 'jerry'@'%';                      
+------------------------------------------------------------------------------------------------------+
| Grants for jerry@%                                                                                   |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'jerry'@'%' IDENTIFIED BY PASSWORD '*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0' |
+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
ログイン後にコピー

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート