SQLステートメントは、データベースクエリ、データ更新、アクセス制御、オブジェクト管理などの機能を含む、データベースの保守と管理に使用されます。
SQLステートメントの分類
DDL |
ライブラリ、テーブル、インデックスなどのデータベースオブジェクトを作成するために使用されるデータ定義言語。 |
DML |
テーブル内のデータを管理するために使用されるデータ操作言語 |
DQL |
データクエリ言語。データテーブルから条件を満たすデータレコードを検索するために使用されます |
DCL |
データベースのユーザーまたはロールの権限を設定または変更するために使用されるデータ制御言語 |
データベースに入る
[root @ master〜] #mysql -u root –p #MySQLデータベースにログインします
パスワードを入力してください: #ログインパスワードを入力してください
MariaDBモニターへようこそ。コマンドは;で終わります または\ g。
MySQL接続IDは6です
サーバーバージョン:5.6.19-ログソース配布
Copyright(c)2000、2018、Oracle、MariaDB CorporationAbなど。
「help;」と入力します または「\ h」でヘルプを表示します。'\ c'と入力して、現在の入力ステートメントをクリアします。
MySQL [(none)]> quit #MySQLデータベースを終了します
さようなら
現在のサーバーのデータベースを表示する
SHOW DATABASES; (大文字と小文字は区別されません。セミコロン ";"は終了を意味します)
MySQL [mysql]> show database; #データベースを表示
+ -------------------- +
| データベース|
+ -------------------- +
| information_schema |
| mysql |
| mysql_chd |
| mysql_chuid |
| performance_schema |
+ -------------------- +
セットで5行(0.00秒)
現在使用されているデータベースを表示する
MySQL [mysql_chuid]> select database();
+ ------------- +
| データベース()|
+ ------------- +
| mysql_chuid |
+ ------------- +
セットの1行(0.01秒)
データベース作成言語を表示する
SHOW CREATEDATABASEデータベース名;
MySQL [mysql_chuid]> show create database mysql_chuid;
+ ------------- + ----------------------------------- ------------------------------------- +
| データベース| データベースの作成|
+ ------------- + ----------------------------------- ------------------------------------- +
| mysql_chuid | CREATE DATABASE `mysql_chuid` / *!40100 DEFAULT CHARACTER SET latin1 * / |
+ ------------- + ----------------------------------- ------------------------------------- +
セット内の1行(0.03秒)
データベースに含まれているテーブルを表示する
データベース名を使用します。
表を表示;
MySQL [(none)]> use mysql #mysqlデータベースに入る
テーブル名と列名を完成させるためのテーブル情報の読み取り
この機能をオフにすると、-Aを使用してすばやく起動できます。
データベースが変更されました
MySQL [mysql]> show Tables; #データベース内のテーブル を表示する
+ --------------------------- +
| Tables_in_mysql |
+ --------------------------- +
| columns_priv |
| db |
| イベント|
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| プラグイン|
| proc |
| procs_priv |
| proxies_priv |
| サーバー|
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| Tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| ユーザー|
+ --------------------------- +
セットで28行(0.00秒)
テーブルの構造を表示する(フィールド)
データベース名を使用する
DESCRIBE [データベース名]テーブル名;
次のように省略できます。DESCテーブル名。
MySQL [mysql]> descservers; #テーブルの構造を表示する
+ ------------- + ---------- + ------ + ----- + --------- +- ------ +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ ------------- + ---------- + ------ + ----- + --------- +- ------ +
| サーバー名| char(64)| いいえ| PRI | | |
| ホスト| char(64)| いいえ| | | |
| Db | char(64)| いいえ| | | |
| ユーザー名| char(64)| いいえ| | | |
| パスワード| char(64)| いいえ| | | |
| ポート| int(4)| いいえ| | 0 | |
| ソケット| char(64)| いいえ| | | |
| ラッパー| char(64)| いいえ| | | |
| 所有者| char(64)| いいえ| | | |
+ ------------- + ---------- + ------ + ----- + --------- +- ------ +
セットで9行(0.33秒)
※その中で、各フィールドの意味は次のとおりです。
1)NULL:列にNULL値を格納できるかどうかを示します。
2)キー:列にインデックスが付けられているかどうかを示します。PRIは、列がテーブルの主キーの一部であることを示し、UNIは、列がUNIQUEインデックスの一部であることを示し、MULは、指定された値が列に複数回出現できることを示します。
3)デフォルト:列にデフォルト値があるかどうか、ある場合はその値を示します。
4)追加:AUTO_INCREMENTなど、取得可能な特定の列に関連する追加情報を示します。