記事のディレクトリ
まず、アクセスMySQLデータベース
1.1概要
MySQLデータベースはMySQLデータベースにアクセスするためには、特殊なクライアントソフトウェアを使用する必要があり、C / Sアーキテクチャの典型的なアプリケーションです。
1.2、Linuxシステムへのアクセスのmysql
Linuxシステムではmysqlコマンドのmysqlデータベースにアクセスするためのツールが付属しています
[root@localhost ~]# mysql -u root -p
Enter password: ##输入密码
mysql> ##登陆成功
mysql> show databases; ##查看数据库列表
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.09 sec)
mysql>
アクセスMySQLへ1.3、win10システムのグラフィカルインターフェース
- セットmysqlデータベースの権限は、ファイアウォールをオン・オフ
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
Query OK, 0 rows affected, 1 warning (0.11 sec)
##允许数据库中的所有表,所有权限给root用户
[root@localhost ~]# systemctl stop firewalld.service ##关闭防火墙
[root@localhost ~]# setenforce 0 ##关闭增强型安全功能
- Navicatはクライアントソフトウェアは、接続設定をW10・システムをインストール
- 接続動作mysqlデータベースを完成するために、
二、一般的に使用されるコマンドのMySQLデータベース
2.1、データベースの一覧を見ます
- データベースを表示します。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql>
2.2、データベースのテーブルの一覧のデータを表示
- データは、最初に、データテーブルを表示するために、データベーステーブルを表示したいデータを入力し、データベーステーブルに格納されています。
- USEデータベース名。
- SHOW TABLESを。
mysql> use sys; ##进入sys库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables; ##查看sys库的数据表列表
+-----------------------------------------------+
| Tables_in_sys |
+-----------------------------------------------+
| host_summary |
| host_summary_by_file_io |
| host_summary_by_file_io_type |
//更多信息.....
2.3、表示データ構成テーブル(フィールド)
- DESCRIBE [データベース名。表。
mysql> describe host_summary; ###显示host_summary数据表的结构
+------------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+---------------+------+-----+---------+-------+
| host | varchar(60) | YES | | NULL | |
| statements | decimal(64,0) | YES | | NULL | |
| statement_latency | text | YES | | NULL | |
| statement_avg_latency | text | YES | | NULL | |
| table_scans | decimal(65,0) | YES | | NULL | |
| file_ios | decimal(64,0) | YES | | NULL | |
| file_io_latency | text | YES | | NULL | |
| current_connections | decimal(41,0) | YES | | NULL | |
| total_connections | decimal(41,0) | YES | | NULL | |
| unique_users | bigint(21) | NO | | 0 | |
| current_memory | text | YES | | NULL | |
| total_memory_allocated | text | YES | | NULL | |
+------------------------+---------------+------+-----+---------+-------+
12 rows in set (0.00 sec)
mysql>
三、SQL文、
3.1、SQLステートメントの概要
- 構造化照会言語
- これは、リレーショナル・データベースの標準言語であります
- そのようなデータベースクエリ、データの更新、アクセス制御、オブジェクト管理およびその他の機能などのデータベースの保守管理のために
3.2、SQL文の分類
- DDL:データ定義言語
- DML:データ操作言語
- DQL:データクエリ言語
- DCL:データ制御言語
四、操作のDDL文のSQL文
4.1、DDL文の概要
データベースを作成および削除するためのDDLステートメントは、データベースなど、テーブル、インデックス、などのオブジェクト
4.2、データベースを作成します
- フォーマット:DATABASEデータベース名を作成
例えば:
mysql> create database abc; ##创建abc库
Query OK, 1 row affected (0.01 sec)
mysql> show databases; ##查看库列表
+--------------------+
| Database |
+--------------------+
| information_schema |
| abc | ##abc库已创建
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql>
4.3、データテーブルを作成します
- フォーマット:TABLEテーブル名を作成します(フィールド定義...)
例えば:
mysql> use abc; ##进入abc库
Database changed
mysql> create table abc01( ##创建abc01表
-> id int not null, ##定义表中字段
-> name char(10) not null,
-> address varchar(50) default 'BJ',
-> primary key (id));
Query OK, 0 rows affected (0.43 sec)
mysql> describe abc01; ###查看数据表结构
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | char(10) | NO | | NULL | |
| address | varchar(50) | YES | | BJ | |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql>
4.4は、指定されたデータテーブルを削除します
- フォーマット:DROP TABLE [データベース名。]表
例えば:
mysql> drop table abc.abc01; ##删除abc01数据表
Query OK, 0 rows affected (0.04 sec)
mysql> use abc; ##进入abc库
Database changed
mysql> show tables; ##查看数据表列表
Empty set (0.00 sec)
####没有任何数据表,abc01数据表已被删除
mysql>
4.5、指定されたデータベースを削除します
- フォーマット:DROP DATABASEデータベース名
例えば:
mysql> drop database abc; ##删除abc数据库
Query OK, 0 rows affected (0.01 sec) ##ok,删除成功
操作の五、DML文のSQL文
5.1、DML文の概要
- の操作を含むテーブル内のデータを管理するためのDML文、
5.2、新しいデータの挿入(INSERT)
- フォーマット:INSERT INTOテーブル名(フィールド1、フィールド2、...)(フィールド1の値は、フィールド2、...)VALUES
例えば:
- Abcd01関連データを挿入するために、データテーブルを作成します
mysql> create database abcd; ##创建abcd库
Query OK, 1 row affected (0.00 sec)
mysql> use abcd; ##进入abcd库
Database changed
mysql> create table abcd01( ##创建abcd01表
-> id int(4) not null,
-> name char(10) not null,
-> address varchar(50) default 'NJ',
-> primary key (id));
Query OK, 0 rows affected (0.04 sec)
mysql> desc abcd01; ##显示abcd01表的结构
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(4) | NO | PRI | NULL | |
| name | char(10) | NO | | NULL | |
| address | varchar(50) | YES | | NJ | |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql> insert into abcd01(id,name)values(1,'zhangsan');
##插入数据id=1,姓名zhangsan
mysql> select * from abcd01; ##查看表中数据内容
+----+----------+---------+
| id | name | address | ##id已经为1,姓名为zhangsan
+----+----------+---------+
| 1 | zhangsan | NJ |
+----+----------+---------+
1 row in set (0.00 sec)
mysql>
5.3、更新既存のデータ(UPDATE)
- フォーマット:UPDATEテーブルSETフィールド名1 =条件式1の値がWHERE
例えば:
mysql> update abcd01 set name='wangwu' where id =1;
##修改id为1的字段姓名为wangwu
mysql> select * from abcd01; ##显示表中数据内容
+----+--------+---------+
| id | name | address |
+----+--------+---------+ ##姓名已变为wangwu
| 1 | wangwu | NJ |
+----+--------+---------+
1 row in set (0.00 sec)
5.4、削除、不要なデータ(DELETE)
- フォーマット:DELETE FROMテーブルWHERE条件式
例えば:
mysql> delete from abcd01 where id =1; ##删除id为1的字段的数据
Query OK, 1 row affected (0.01 sec)
mysql> select * from abcd01; ##显示表中数据内容
Empty set (0.00 sec) ##变为空
操作の六、DQL文のSQL文
6.1概要
- DQLは、唯一のSELECTコマンドのデータクエリです
- データテーブルのレコードから修飾されたデータを検索するには
- クエリは、条件を指定することもできます
6.2、コンテンツのクエリデータテーブル(SELECT)
- フォーマット:フィールド名テーブルからSELEXTフィールド名1、2 ...。
例えば:上記のクエリ情報abcd01データテーブル(「*」は、データのすべてを表します。)
七、DCL文は、操作のステートメントをSQL
7.1、セットユーザー許可(GRANT)
- [「パスワードBY」IDENTIFIED]ソースアドレス@ユーザ名にデータベース名リストテーブル名ONフォーマット:. GRANT権限
例えば:
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
Query OK, 0 rows affected, 1 warning (0.11 sec)
##允许数据库中的所有表,所有权限给root用户
7.2、ユーザーの権限を参照してください
- SHOWは、送信元アドレス@ usernameの認めます
7.3、ユーザーの特権(REVOKE)を取り消します
- データベース名のリストON REVOKE権限。ユーザー名FROM表名@送信元アドレス