[MySQL] MySQLエントリースタディノート

目次

SQL

SQLステートメントの分類

DDLステートメント

    DDLステートメントオペレーティングデータベース

    DDLステートメント操作データテーブル

DMLステートメント

    増加する

    削除

    変化する

DQLステートメント

DQL文の強化

制限ステートメント

データベースの制約:


SQL

    構造化照会言語(構造化照会言語)は、データベースの操作言語です。SQLステートメントを使用して、データベース内のデータテーブルを簡単に操作できます。

SQLステートメントの分類

  • DDL:データ定義言語
    • データベースオブジェクト(データベース、テーブル、列など)を定義するために使用されます。
    • キーワード:create drop alter truncate
  • DML:データ操作言語
    • データベーステーブルのデータを追加、削除、および変更するために使用されます
    • キーワード:挿入削除更新
  • DQL:データクエリ言語
    • データベースを照会するための言語
    • キーワード:選択
  • DCL:データ制御言語
    • データベースのアクセス権とセキュリティレベルを定義し、ユーザーを作成するために使用されます
    • キーワード:GRANT REVOKE
  • TCL:トランザクション制御言語
    • データベースのトランザクション操作を制御するために使用されます
    • キーワード:COMMIT SAVAPOINT ROLLBACK

DDLステートメント

DDLステートメントを使用してデータベースを操作します:ライブラリの作成、ライブラリの表示、ライブラリの変更、ライブラリの削除

DDLステートメントを使用してデータベーステーブルを操作します。テーブル表示テーブルの作成テーブルの削除テーブルの削除操作

DDLステートメントを使用してデータベーステーブルの列を操作します:列の追加、列の変更、列の削除   

    DDLステートメントオペレーティングデータベース

//创建数据库
CREATE DATABASE 数据库名;

//判断是否存在并创建数据库
CREATE DATABASE IF NOT EXISTS  数据库名

//创建数据库并指定字符集
CREATE DATABASE 数据库名 CHARACTER SET 字符集;

//查看数据库
SHOW  Database

//查看某个数据库的定义信息
SHOW CREATE DATABASE 数据库名

//修改数据库(修改字符集)
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;


//删除数据库
DROP DATABASE 数据库名

//使用数据库
//查看正在使用的数据库
SELECT DATABASE();

//使用/切换数据库
USE 数据库名

    DDLステートメント操作データテーブル

//创建表
CREATE TABLE 表名 (
    字段名1 字段类型1,
    字段名2 字段类型2…
);

//查看表
SHOW TABLES;

//查看表结构
DESC 表名;

//查看创建表的SQL语句
SHOW CREATE TABLE 表名;

//快速创建一个相同的表
CREATE TABLE 新表明 LIKE  旧表名



//删除表
DROP TABLE 表名;
//表存在则删除
DROP TABLE IF EXISTS 表名;


//修改表
//表中添加列
ALTER TABLE 表名 ADD 列名 类型;

//修改列类型
ALTER TABLE 表名 MODIFY 列名 新的类型;

//修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

//删除列
ALTER TABLE 表名 DROP 列名;

//修改表名
RENAME TABLE 表名 TO 新表名;

//修改字符集
ALTER TABLE 表名 character set 字符集;

DMLステートメント

    増加する

//插入全部字段
INSERT INTO 表名 (字段名1, 字段名2, 字段名3…) VALUES (值1, 值2, 值3);
//或者
INSERT INTO 表名 VALUES (值1, 值2, 值3…);
//注意:不写字段名的情况下,values后面值的顺序要和数据内字段的定义顺序要保持一致。
//注意:
//值与字段必须对应 ,个数相同,类型相同
//值的数据大小必须在字段的长度范围内
//除了数值类型外,其他的字段类型的值必须使用引号引起(建议单引号)
//如果要插入空值,可以不写字段,或者插入null



//批量插入数据
INSERT INTO 表名 
    (字段名1, 字段名2, ...) 
    VALUES     
    (值1, 值2, ...),
    (值3, 值4, ...);

    削除

//不带条件的删除数据
DELETE FROM 表名;

//带条件的删除
DELETE FROM 表名 WHERE 字段名=值;

    変化する

//不带条件的修改
UPDATE 表名 SET 字段名=值;


//带条件的修改
UPDATE 表名 SET 字段名=值 WHERE 字段名=值;

DQLステートメント

//简单查询
Select *  from 表名

//查询某列数据
select 字段名1, 字段名2 ...from 表名

//别名查询
select 字段名1 as 别名,字段名2 as 别名 ... from 表名

//查询结果参与运算
select 列名1+固定值  from 表名
select 列名1+列名2 from 表名

 

重複する値とnull値の処理を削除します:


  • //重複する値
    をクリアします
    //フィールド名をクリアするためのキーはDISTINCTです// selectステートメントは1つの個別のみを持つことができ
    、テーブルからselect selectdistinctフィールド名の後にのみ書き込むことができます
  • IFNULL(式1、式2):式1の値がnullの場合、式2の結果が返されます。式1の値がnullでない場合、式1の結果が返されます。

DQL文の強化

  • 変数がnull(フィールドがnull)であるかどうかを判別します
    • 列名がnullであるテーブル名から*を選択します 
  • 比較演算子
    • >より大きい<より小さい<=以下> =以上
    • = <>に等しい!=等しくない
      • 列名比較演算子の比較値であるテーブル名から*を選択します
  • 論理演算子
    • および(&&):複数の条件が同時に満たされる
    • または(||):複数の条件の1つが満たされている
    • ない(!):満足していない
      • 条件1論理演算子条件2であるテーブル名から*を選択します。
  • 範囲
    • ininの 各データは条件として使用され、条件が満たされている限り表示されます
      • SELECTフィールド名FROMテーブル名WHEREフィールドin(データ1、データ2 ...);
    • between ... and ..:範囲条件を満たすデータ、ヘッダー、および終了を表すために使用されます
      • 値1と値2の間の条件であるテーブル名から*を選択します 
    • キーワードのように:ファジークエリを示し、次のワイルドカードルールを満たすデータが表示されます
      • %:0個以上の文字(任意の文字)を表します
      • _:文字を表します
//查询姓马的学生
select * from student where name like "马%";

//查询姓马的且为两个字符的学生
select * from student where name like "马_"

//查询姓名含有马的学生
select * from student where name like"%马%" 
  • 並べ替え(ORDER BY)
    • 単一列の並べ替え
    • SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC];
      ​​​​​​​
      • ASC:昇順、デフォルト値
      • DESC:降順
    • コンビネーションソート
      • 最初に最初のフィールドで並べ替えます。最初のフィールドが同じ場合は、2番目のフィールドで並べ替えます。
      • ​​​​​​​
        SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名1 [ASC|DESC], 字段名2 [ASC|DESC];
        
  • 集計関数(選択後にフィールド名に書き込まれます)
    • count:指定された列のレコード数をカウントします。NULLのレコードはカウントされません。
    • sum:指定した列の数値合計を計算します。数値タイプでない場合、計算結果は0です。
    • max:指定した列の最大値を計算します
    • min:指定した列の最小値を計算します
    • avg:指定された列の平均値を計算します。数値タイプでない場合、計算結果は0です。

 

select 聚合函数(字段名) from 表名
  • グループ化
    • GROUP BYは、グループ化フィールドの結果の同じコンテンツをグループとして扱い、各グループの最初のデータを返します。グループ化の目的は、数量をカウントすることです。一般的なグループ化機能と集計機能は一緒に使用されます。
    • SELECTフィールド1、フィールド2 ... FROMテーブル名GROUPBYグループ化フィールド[HAVING条件];
  • 持っていることとどこにあるかの違い
    • パケットフィルターのデータに対して実行した。
    • グループ化する前にデータをフィルタリングする場所
    • 集計関数は
    • 集約関数は、どこの背後も使用できません

制限ステートメント

     制限的な意味での制限。役割制限は、クエリを制限するためのレコードの数です。

  • limitの構文フォーマット:
    • LIMITは、長さをオフセット。または制限長
    • オフセットはスキップされたレコードの数を指します(学名:オフセット)。デフォルトは0です。
    • 長さは、表示する必要のあるレコードの総数を指します
//跳过前面2条,取6条数据 
SELECT * FROM student3 LIMIT 2,6;

 

データベースの制約:

  • プライマリキーの制約:PRIMARY KEY
    • レコードを一意に識別するために使用され、各テーブルは1つのプライマリキーのみを持つことができます
  • 一意の制約:UNIQUE
    • 一意性、このフィールドの値を繰り返すことはできません
  • 空でない制約:NOT NULL
    • フィールドがnull値にならないように制限します
  • デフォルト値:DEFAULT
    • テーブルにデータを追加する場合、フィールドのデータは指定されず、デフォルトで設定値が表示されます

おすすめ

転載: blog.csdn.net/weixin_43267344/article/details/108685823