目次
1つは、データベースの基本操作
1.1データベースの構造を見る-1
■データベース情報を表示する
SHOW DATABASES
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| auth |
| myadm |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)
1.2データベース構造の表示-2
■データベースのテーブル情報を表示する
USE 数据库名
mysql> use mysql;
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| engine_cost |
| event |
| func |
| general_log |
| gtid_executed |
| help_category |
| help_keyword |
......
31 rows in set (0.00 sec)
1.3データベース構造を見る-3
■データテーブルの構造(フィールド)を表示する
DESCRIBE [数据库名.]表名
###也可以使用“desc user;”
mysql> describe user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| Select_priv | enum('N','Y') | NO | | N | |
......
2つ目は、データベースとテーブルの作成と管理
2.1データベースとテーブルを作成する
■DDLステートメントを使用して、ライブラリ、テーブル、インデックスなどのデータベースオブジェクトを作成できます。
■DDLステートメントを使用して、新しいライブラリとテーブルを作成します。
- データベースを作成する
CREATE DATABASE 数据库名
- データテーブルを作成する
CREATE TABLE 表名(字段定义......)
mysql> create database auth;
Query OK, 1 row affected (0.00 sec)
mysql> use auth;
Database changed
mysql>
mysql> create table users (user_name CHAR(16) NOT NULL,user_passwd CHAR(48) DEFAULT'',PRIMARY KEY (user_name));
Query OK, 0 rows affected (0.01 sec)
2.2管理表のデータ-1
■DMLステートメントは、テーブル内のデータを管理するために使用されます
■インクルード操作
- INSERT:新しいデータを挿入する
- 更新:元のデータを更新します
- 削除:不要なデータを削除します
2.3管理表のデータ-2
■データテーブルに新しいデータレコードを挿入する
UPDATE 表名 SET 字段名1=值1[,字段名2=值2]WHERE 条件表达式
mysql> update auth.users set user_passwd=password('123456') where user_name='lisi';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 1
mysql> flush privileges; ### 刷新下
mysql> update mysql.user set authentication_string=PASSWORD('123456') where user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1
mysql> flush privileges; ### 刷新下
2.3管理表のデータ-3
■データテーブル内の指定されたデータレコードを削除する
DELETE FROM 表名 WHERE 条件表达式
mysql> delete from auth.users where user_name='lisi';
Query OK, 0 rows affected (0.01 sec)
■where条件のないステートメントは、テーブル内のすべてのレコードを削除することを意味します
mysql> delete from auth.users;
Query OK, 0 rows affected (0.00 sec)
###不带where子句时需谨慎操作
2.4管理表のデータ-4
■DQLはSELECTのみのデータクエリステートメントです。
■これは、データテーブルから条件を満たすデータレコードを検索するために使用されます。
■条件を指定せずにクエリを実行できます。
SELECT 字段名1,字段名2.....FROM 表名
mysql> select * from auth.users;
+-----------+-------------------------------------------+
| user_name | user_passwd |
+-----------+-------------------------------------------+
| lisi | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| wangwu | *E710DC2512FCF6F18FE0D652B53290DCB11F3334 |
+-----------+-------------------------------------------+
2 rows in set (0.00 sec)
2.5管理表のデータ-5
SELECT 字段名1,字段名2......FROM 表名 WHERE 条件表达式
mysql> select user_name,user_passwd from kk.KK where user_name='lisi';
+-----------+-------------------------------------------+
| user_name | user_passwd |
+-----------+-------------------------------------------+
| lisi | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+-------------------------------------------+
1 row in set (0.00 sec)
2.5高度なデータベース操作-1
■空のテーブル
- テーブル名から削除
- TRUNCATE TABLE tablename
mysql> truncate table tmp;
2.6高度なデータベース操作-2
■一時テーブル
- 一部の一時データの保存に使用される一時的に作成されたテーブルは、長期間存在しません
在这里插入代码片
2.7高度なデータベース操作-3
■クローンテーブル
- LIKEメソッド
mysql> create table test like mytmp;
mysql> insert into test select * from mytmp;
- SHOW CREATE TABLEメソッド
mysql> show create table mytmp\G
mysql> create table test(......);
mysql> insert into test select * from mytmp;
3、データベースユーザー認証
3.1データベースユーザー認証-1
■ユーザー権限を設定するDCLステートメント(ユーザーが存在しない場合は、新しいユーザーを作成します)
GRANT 权限列表 ON 数据库名 TO 用户名@来源地址 [IDENTIFIED BY '密码']
mysql> GRANT select ON auth.* TO 'xiaoqi'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
3.2データベースユーザー認証-2
■ユーザー権限を表示する
SHOW GRANTS FOR 用户名@来源地址
mysql> SHOW GRANTS FOR 'lisi'@'20.0.0.6';
■ユーザー権限を取り消す
REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址
mysql> REVOKE all ON auth.* FROM 'xiaoqi'@'localhost';