データベース操作
リモートログインを許可する
に対するすべての権限を付与します。root@'%' に許可オプション付きで '密码' で識別される
DDL – データベース操作
DDL クエリ
すべてのデータベースをクエリする
SHOW DATABASES;
現在のデータベースにクエリを実行する
SELECT DATABASE();
データベースを作成する
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
データベースを削除する
DROP DATABASE [IF EXISTS] 数据库名;
データベースを使用する
USE 数据库名;
現在のデータベース内のすべてのテーブルをクエリします
SHOW TABLES;
クエリテーブルの構造
DESC 表名;
指定されたテーブル作成ステートメントをクエリします。
SHOW CREATE TABLE 表名
DDL テーブル操作の作成
DDL テーブル操作の変更
フィールドを追加
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
データ型を変更する
ALTER TABLE 表名 MODITY 字段名 新数据类型(长度);
フィールド名とフィールドタイプを変更する
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT '注释'] [约束];
フィールドの位置を変更する
フィールド 1 をフィールド 2 に従うように変更します
ALTER TABLE 表名 CHANGE 字段名1 字段名1 VARCHAR(50) AFTER 字段名2
フィールドの削除
ALTER TABLE 表名 DROP 字段名;
テーブル名を変更する
ALTER TABLE 表名 RENAME TO 新表名;
テーブルの削除
DROP TABLE [IF EXISTS] 表名;
DML - データ操作言語
DML - データの追加
1. 指定したフィールドにデータを追加します
INSERT INTO 表名 (字段名1,字段名2,...) VALUES(值1,值2,...);
2. すべてのフィールドにデータを追加します
INSERT INTO 表名 VALUES(值1,值2,...);
3. データをバッチで追加する
INSERT INTO 表名 (字段名1,字段名2,...) VALUES(值1,值2,...),值1,值2,...),值1,值2,...);
INSERT INTO 表名 VALUES(值1,值2,...),值1,值2,...),值1,值2,...);
DML - データを変更する
UPDATE 表名 SET 字段名1=值1,字段名2=值2 [WHERE 条件];
where 条件が記述されていない場合、テーブル全体が変更されます
DML - データの削除
DELETE FROM 表名 [WHERE 条件]
知らせ:
- DELETE ステートメントの条件は存在する場合と存在しない場合があり、条件がない場合はテーブル全体のすべてのデータが削除されます。
- DELETE ステートメントでは、特定のフィールドの値を削除できません (UPDATE は使用できます)。
DQL - データクエリ言語
DQL の完全な英語名は Data Query Language (Data Query Language) で、データベース内のテーブル内のレコードをクエリするために使用されるデータ クエリ言語です。
DQL 構文
DQL - 基本的なクエリ
1. 複数のフィールドをクエリする
select 字段1,字段2,字段3... from 表名;
select * from 表名;
2. エイリアスを設定する
select 字段1 [as 别名1],字段2 [as 别名2]... from 表名;
3. 重複レコードを削除する
select distinct 字段列表 from 表名;
DQL 条件付きクエリ
1. 文法
select 字段列表 from 表名 where 条件列表;
2. 条件
DQL - 集計関数
1 はじめに
データの列を全体として取得し、縦方向の計算を実行します。
2. 一般的な集計関数
3. 文法
select 聚合函数(字段列表) from 表名;
DQL グループ クエリ
1. 文法
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
どこにあるかと持っているの違い
- where はグループ化前にフィルタリングし、where 条件を満たさない場合はグループ化に参加しません、have はグループ化後に結果をフィルタリングするという実行タイミングが異なります。
- 判定条件が異なり、集計関数は判定できないが、ある場合は判定できる。
知らせ
実行順序: ここで、 > 集計関数 > を持っています。
グループ化後、クエリ対象となるフィールドは通常、集計関数とグループ化フィールドであり、他のフィールドをクエリしても意味がありません。
DQL - 並べ替えクエリ
1. 文法
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
2. 並べ替え順
- ASC : 昇順 (デフォルト)
- DESC: 降順
注: 複数フィールドの並べ替えの場合、最初のフィールドが同じ値を持つ場合、2 番目のフィールドに従って並べ替えられます。
DQL ページング クエリ
1. 文法
select 字段列表 from 表名 LIMIT 起始索引,查询记录数;
知らせ
- 開始インデックスは 0 から始まり、開始インデックス = (クエリ ページ番号 - 1) * 各ページに表示されるレコードの数になります。
- ページネーション クエリはデータベースの方言であり、データベースが異なれば実装も異なります。MySQL では、これは LIMIT です。
- データの最初のページがクエリされている場合は、開始インデックスを省略でき、制限 10 と省略できます。
DQL - 実行順序
DCL - データ制御言語
DCL-はじめに
DCL の正式な英語名は Data Control Language (Data Control Language) で、データベースのユーザーを管理し、データベースのアクセス権を制御するために使用されます。
DCL 管理者ユーザー
1. ユーザーに問い合わせる
USE mysql;
SELECT * FROM user;
2. ユーザーを作成する
ALTER USER '用户名'@'主机名' IDENTIFIED BY '密码';
3. ユーザーパスワードを変更する
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
4. ユーザーの削除
DROP USER '用户名'@'主机名';
知らせ:
- ホスト名には % ワイルドカードを使用できます。
- このタイプの SQL 開発者はあまり活動せず、主に DBA (Database Administrator データベース管理者) によって使用されます。
DCL アクセス制御
1. クエリ権限
show grants for '用户名'@'主机名';
2. 権限を付与する
gant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
3. 権限を取り消します
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
知らせ:
- 複数の権限間では、コンマを使用して
P USER 'username'@'hostname' を区切ります。
注意:
- 主机名可以使用%通配。
- 这类SQL开发人员操作的比较少,主要是DBA ( Database Administrator数据库管理员)使用。
##### DCL-权限控制
1.查询权限
'username'@'hostname' の許可を表示します。
2.授予权限
データベース名、テーブル名に対するガント権限リストを 'ユーザー名'@'ホスト名';
3.撤销权限
REVOKE 権限リスト ON データベース名.テーブル名 FROM 'ユーザー名'@'ホスト名';
注意:
- 多个权限之间,使用逗号分隔
- 授权时,数据库名和表名可以使用*进行通配,代表所有