一部の文法仕様:
大文字と小文字は区別されません。キーワードは大文字にすることをお勧めし、その他の小文字を使用することをお勧めします。必要に応じ
て、各コマンドはセミコロンで終了し
ます。インデントすることも、行を折り返すこともできます。1
行コメント:
#
コメントテキスト–コメントテキスト
複数行コメント
/ *コメントテキスト* /
基本的なステートメント
は、すべてのデータベースを示しています。show databases;
指定されたライブラリを開きます:use 库名;
現在のライブラリのすべてのテーブルを表示します。show tables;
他のライブラリのすべてのテーブルを表示します。show tables from 库名;
テーブルを作成:
create table 表明{
列名 列类型,
列名 列类型 (最后一个就不用加逗号了)
};
テーブルの構造を表示します。desc 表名;
サーバーのバージョンを表示する:select version();
またはcmd
以下mysql -V / mysql --version
基本的なクエリ:
select 查询列表 (查询列表可以是:表中的字段,常量值,表达式,函数)
from 表名
クエリの結果は仮想テーブルです
テーブル内の単一のフィールドをクエリします。select 需要查询的字段名 from 表名; (注意最后的分号)
クエリテーブルの複数のフィールド:
select 查询的字段1,查询的字段2,查询的字段3 from 表名; (字段名中间用逗号隔开,顺序可以和原始表不一致)
クエリテーブルのすべてのフィールド:
メソッド1:select 点击表名(或者手动输入全部的,中间用逗号隔开,F12可以自动调整格式)
メソッド2:select * from 表名(但是要注意使用* 的时候顺序是和原始表的顺序是一致的)
注:
MYsqlでは、同じ値を表示するために直接使用され、では=
ありません==
。
`この記号は一重引用符ではなく、アクセント記号です。私のキーボードはEscキーボードの下にあります。
リピートしないキーワードは、強調を加えることができる場合を区別する必要があります
定数値のクエリ
select 100 ;(100是可以替换的)
select ‘Tom’ ; (用的是单引号,且SQL认为非数值的都是字符)
クエリ式:select 100*98 ;
クエリ機能:select version();
エイリアスの作成:
方法1:select 100%98 as 结果; (使用as关键字)
利点:わかりやすい
クエリ対象のフィールドが同じ名前である場合、エイリアスを使用して区別できます。
方法2:select 100%98 as 结果 (省略as关键字,使用空格)
エイリアスにキーワードまたはスペースが含まれている場合は、二重引用符または単一引用符を追加する必要があります。二重引用符をお勧めします。
重複除外:select distinct department_id from table; (需要加上distinct关键字)
プラス記号+の機能:
ケース:従業員の名前と従業員の姓を照会し、それらを名前として表示します。
select last_name+first_name as 姓名 from employees;(这个写法是错误的)
select ‘123’+90
;この文は、文字型を数値型に変換する試みです。変換が成功した場合は、加算操作を続行してください。この文は正常に変換できます。変換に失敗した文字は0に変換されます。
1つのパーティがNullである限り、結果はNullです
MySQLでは、+の機能は値を追加するだけです
ステッチする方法:関数を使用するconcat(str1,str2, ...);
ifnull(表达式1,表达式2);
式1は空の名前を入力し、式2は空の場合に返す値です。
条件クエリ:
select *
from table
where 筛选条件;
(実行順序:最初にテーブルから実行し、最初にこのテーブルがあるかどうかを確認してから、どこで実行し、最後に選択するか)
カテゴリ:
条件式でフィルタ:
条件演算子:>, < , =, <>(!=), >=, <=,
論理式でクエリ:
論理演算子:and, or, not(&&, ||, !),
あいまいクエリ like, between and, in, is null
類似クエリの例:
名前に文字aが含まれている名前を検索します
select * from table where name like ‘%a%’
(2つのポイントに注意してください。文字は一重引用符で囲む必要があります。aが途中または後ろにある可能性があるため、%を追加してワイルドカードを示します。
ワイルドカード:
%
任意の数の文字(0文字を含む)
_
は任意の1文字を表します
アンダースコアを含む名前を見つける必要がある場合
:\
その前にエスケープ文字を追加します:推奨$ ;escape ‘$’;
されます($は任意に指定できます)
between and
重要な値です
in:
特定の値がリスト内の特定のアイテムに属しているかどうかを判断します。
使用する利点:文の簡潔さを向上させます。
リスト内の値のタイプは統一または互換性がある必要があります(アンダースコアまたは%はサポートされていません)
is null
null値を決定するのとは対照的に、is not null
=
または<>
使用されません
が、次のように記述できます。<=> null
セキュリティの同等の<=>
可読性は低く、あまりお勧めできません
SQLソートクエリ:
order by 排序列表 asc(升序:从低到高) | desc(降序:从高到低)
デフォルトは昇順です
関数length()
は、関数に従ってソートできます。
複数のフィールドで並べ替え:order by 字段1,desc, 字段2,asc;
order by
limit
句を除いて、単語と文は通常最後です
実行の順序:from table , where , select, order by
関数:
呼び出すメソッド:select 函数名(实参列表) from 表
1行関数:concat., ;length, ifnull
グループ化関数:
統計に使用、
統計関数、集計関数、グループ関数とも呼ばれます
文字関数:
length
utf8次の漢字は3バイトを占めます。大文字と小文字に
concat
接続
upper
します(インデックスは1から始まることに注意してください)。この文は、インデックス5の後に文字列を出力することを意味します。この文は、インデックスから出力することを意味します2の後の5文字は、str1のstr2の開始インデックスを返すために使用されます。それが見つからない場合、0を使用して、その前後の指定した文字を削除します。指定しない場合、スペースを削除します。例:(これらは削除の前後に指定された文字であり、中央を含まないことに注意してください)(iではなく文字Lに注意してください)指定された文字を左側に入力します。指定された長さは、 str1は小さくする必要があります。右詰め置換:replace(str1、str2、str3)、文字列str1のstr2をstr3で置き換えます。
lower
substr/substring
substr(“TomAndBob”,5);
substr(“TomAndBob”,2,5);
instr(str1,str2)
trin()
trin(‘a’ from ‘aaajkjjjsjjsjjsssaaaajjjjjjjjaaaaaaaaaaaa’);
lpad
lpad(‘str1’,10,’*’);
rpad:
replace:
数学関数:
round()
丸い
例:ラウンド(1.65)小数点の2つ後の保持2ラウンドの結果、(1.65,1)として
ceil()
切り上げ
floor()
丸められたダウン
truncate()
切り捨て
例:turncate(1.69,1)
小数点のための手段
mod()
モジュロ
日付関数:
now()
システムの現在の日付と時刻を
curdate()
返す現在の日付を返します(
curtime()
時刻を除く)現在の時刻を返します(日付を除く)
select year(now())
あなたは英語の名前を表示する必要がある場合
select year(‘1998-1-5’)
にのみ入る
ことができます、あなたはyear_name()
達成するために使用できます
フロー制御機能は:,
if(expr1, expr2, expr3)
場合はexpr1
真、値がありexpr2
そうでなければ、expr3
(三項演算子と同様)
ケース:
使用法1:case
判断する必要がある変数または式を追加する
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
...
else 要显示的值n或语句n;
end
使用法2:case
when 条件1 then 要显示的值
when 条件2 then 要显示的值
...
else 要显示的值或者语句
end