MySQLデータベースへのアクセスおよび基本的な操作コマンドとSQLステートメント

まず、アクセス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表名@送信元アドレス
公開された43元の記事 ウォン称賛56 ビュー7896

おすすめ

転載: blog.csdn.net/weixin_42953006/article/details/103845931