MySQLの基本的な共通コマンドの概要

MySQLの基本的な共通コマンドの概要

MySQL の基本的な共通コマンド

注意: CentOS にインストールされている MySQL のバージョンは 5.7 です。MySQL を編集すると、エラー メッセージが表示されます。以下を実行する必要があります。

@@global.sql_mode を 'STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION' に設定します。


1. SQL文

各コマンドはセミコロンで終わります

  • すべてのデータベースを照会します: データベースを表示します。
  • データベースを切り替える: ライブラリ名を使用します。
  • データベースを作成します: create database [IF NOT EXISTS] library name;
  • データベースを削除します: drop database [IF EXISTS] library name;
  • データベース作成のクエリ: データベース作成ステートメントを表示します。
  • データベースで使用する文字セットを指定します: CHARACTER SET
  • データベースのコード セットを変更します: alter database database name CHARACTER SET code set;

注意: MySQL サーバーのエンコーディング セットを変更しないでください。テーブルのエンコーディング セットは、デフォルトでライブラリと一致しています。

2. テーブルを作成する

形式:

  • テーブルを作成 [存在しない場合] テーブル名 (
  • フィールド1のデータ型フィールドのプロパティ、
  • フィールド 2 データ型フィールドのプロパティ、...
  • フィールド N データ型 フィールドプロパティ
  • )engine=エンジンのデフォルト charset=エンコーディングセット;
  • 現在のデータベースを表示します: select database();
  • テーブル作成ステートメントを表示します: show create table table name;
  • テーブル構造を表示します:desc テーブル名;
  • 削除: テーブルを削除します [存在する場合] テーブル名;

3. フィールド属性

  • nullではない: デフォルト値として値が与えられていない(varcharのデフォルト値は空である)
  • AUTO_INCREMENTは、列を自動増分属性として定義します。これは通常、主キーに使用され、値は自動的に1ずつ増加します。
  • PRIMARY KEY キーワードは、列を主キーとして定義するために使用されます。複数の列をカンマで区切って主キーを定義できます。
  • ENGINEはストレージエンジンを設定し、CHARSETはエンコーディングを設定します
  • デフォルトはnullです: 値が指定されていない場合、データはnullになります
  • デフォルト値: フィールドのデフォルト値を設定する

注:主キー列は繰り返されません

ここでは学生テーブルを作成します。

 学生が存在しない場合はテーブルを作成(
 id int auto_increment、
 `名前` VARCHAR(32)、
  年齢 int、
 性別(1)
 clazz VARCHAR(32)) 文字セット utf8;


学生の値に(1001、'zs'、18、'男'、'班一')を挿入します。
学生の値に挿入します(1002、'ls'、19、'女'、'班二班');
 学生に挿入(`name`,age,sex,clazz) values ​​('ww',69,'男','班一班');
 学生に挿入(`name`,age,sex,clazz) values ​​('we',21,'女','班二班');
学生に挿入(`name`,age,sex,clazz) values ​​('ld ',23,'男','班一班');
学生に挿入(`name`,age,sex,clazz) values ​​('lq',45,'女','班二班');
学生に挿入(`name`,age,sex,clazz) values ​​('lwq',23,'男','班一班');
 学生に挿入(`name`,age,sex,clazz) values ​​('ld',12,'女','班二班');


4. テーブルを変更する: alter table

テーブル名を変更します。テーブルの古いテーブル名を新しいテーブル名に変更します。

rename table student1 TO `student`;

フィールドの追加: テーブルのテーブル名を変更し、フィールドのフィールド データ型属性を追加します。

 alter table student add job varchar(32) デフォルト 'No job';
学生(仕事)にVALUES('a')を挿入します。
学生(仕事)にVALUES('b')を挿入します。
学生(仕事)にVALUES('c')を挿入します。
学生(仕事)にVALUES('a')を挿入します。
 学生(仕事)にVALUES('b')を挿入します。


フィールドの変更:テーブルのテーブル名を変更し、古いフィールドを変更し、新しいフィールドのデータ型属性を変更します。

 テーブルstudentを変更し、clazz clazz varchar(255);
 alter table student 年齢変更スコア double;


フィールドの変更:テーブルのテーブル名を変更し、フィールドのデータ型属性を変更します。

alter table student MODIFY varchar(356); #このスペースは前のスペースより小さくすることはできません

知らせ:

  • 変更: すべて変更 (フィールド名、データ型、属性)
  • 変更: 部分を変更する (データ型、属性)
  • データ型を変更すると、varchar->intメタデータは0になります。

5. 追加、削除、変更、確認: すべての文字列は '' で囲まれています

5.1 増加

形式:

テーブル名(フィールド)値(値)、(値)...(値)に挿入します。
 学生の値に(1001、'zs'、18、'男'、'班一')を挿入します。
学生の値に挿入します(1002、'ls'、19、'女'、'班二班');
学生に挿入(`name`,age,sex,clazz) values ​​('ww',69,'男','班一班');
学生に挿入(`name`,age,sex,clazz) values ​​('we',21,'女','班二班');
学生に挿入(`name`,age,sex,clazz) values ​​('ld ',23,'男','班一班');
学生に挿入(`name`,age,sex,clazz) values ​​('lq',45,'女','班二班');
学生に挿入(`name`,age,sex,clazz) values ​​('lwq',23,'男','班一班');
10 insert into student(`name`,age,sex,clazz) values ​​('ld',12,'女','二班');


5.2 削除

 -- delete from table name where 句を削除します。
 job='c' の学生から削除します。


5.3 変更

 -- 更新テーブル名を変更して、フィールド 1 = 値 1、フィールド 2 = 値 2、... フィールド N = 値 N の where 句を設定します。
学生を更新します。job = 'b'、name = 'ls' を設定します。


5.4 チェック

-- テーブル名からの選択フィールドの where 句を確認します。
 select * from student; #すべてをクエリ SELECT id as di,name,job,score from student where score>18; #特定のクエリ、特定のテーブルを次のように表示: フィールド名の変更を示します (元のテーブルは変更されません)


注:すべてのフィールドを示します

6. 条項

  • > < <= >= = <> より大きい、より小さい、より大きい(より小さい)等しい、等しくない
  • ...と...の間では、特定の範囲(開始と終了を含む)の値を表示します。
  • in(set) inリストに表示される値。例: in(100,200) は100または200にのみ一致します。
  • '张_' のように、あいまい検索では % と _ を使用します (% はすべてに一致、_ は 1 つに一致)
  • nullかどうかは空かどうかで決まります
  • 複数の条件が同時に満たされる
  • または以下のいずれかの条件を満たす
  • not は真ではありません。例: where not(expection>10000);
-- > < <= >= = != より大きい、より小さい、より大きい (より小さい) 等しい、等しくない SELECT * from student WHERE id>1006;
学生から * を選択 WHERE id!=1006;
 
--between ...and... 特定の範囲(開始と終了を含む)の値を表示します。
IDが1002から1005の間の学生からID、名前、仕事を選択します。
 select * from student where job BETWEEN 'a' and 'b';
 -- in(set) in リストに表示される値。例: in(100,200) は 100 または 200 にのみ一致します。
 学生から仕事のある場所('a','b')で*を選択します。

-- '张_' のように、あいまい検索では % と _ を使用します (% はすべてに一致、_ は 1 つに一致)
 SELECT * from student where name like 'l%';
 SELECT * from student where name like 'l_';
名前が null でない学生から * を選択します。


7. ページングを制限する

形式:
ステートメントの制限は、添え字の長さから始まります。

-- ページング制限ステートメント limit start subscript, length; 注: where はありません
学生LIMIT 1,2から*を選択します。
学生LIMIT 0,2から*を選択します。
学生LIMIT 2から*を選択します。


知らせ:
データ量が不足している場合は、すべて表示します

8. 重複排除

形式:
DISTINCT フィールド1、フィールド2...フィールドN

 -- 重複を削除する DISTINCT フィールド 1、フィールド 2... フィールド N
 学生から別の名前を選択します。
 学生からcount(DISTINCT name)を選択します。


知らせ:

フィールドは DISTINCT の前には置けません。DISTINCT の後にのみ置けます。

DISTINCTの後に複数のフィールドがあり、すべてのフィールドに従って重複の削除が実行されます。

9. 集計関数

  • count(フィールド): 必要なデータ行数
  • 合計(フィールド): 合計
  • avg(フィールド): 平均
  • max(フィールド): 最大値
  • min(フィールド): 最小値

知らせ:

  • Varchar はサイズを比較できますが、平均値を取得できません (これは意味がありません)
  • 値が Null の場合、計算には含まれません。
  • 合計フィールドと平均フィールドのデータは数値ではなく、結果は両方とも0です

 -- count(field): データの行数を見つける select count(*) from student;
 学生からcount(name)を選択します。

-- sum(フィールド): sum 学生から sum(スコア) を選択します。
学生からsum(job)を選択します。
select name+score as sum FROM student; #score valueSELECT name*score as cheng FROM student; #0

--avg(フィールド): 平均 SELECT avg(スコア) FROM student;
 -- max(フィールド): 最大値 SELECT max(スコア) FROM student;
学生からmax(job)を選択; #c
-- min(フィールド): 最小値 SELECT min(スコア) FROM student;


10. スプライシング

フォーマット 1

concat(str1,str2...)

フォーマット2:

concat_WS(separator,str1,str2,...)

-- 形式 1: concat(str1,str2...)
 CONCAT(id,'-',name) を pj として選択し、 Student から返します。
 -- 形式 2: concat_WS(str1,str2...)
SELECT CONCAT_WS('~',id,name,score,job)FROM student; #~ で区切る

11. 日付関数

現在の日付を取得します:

current_timestamp;--すべて current_timestamp();--すべて CURRENT_DATE();--年 月 日 CURRENT_DATE;--年 月 日 CURRENT_TIME();--時 分 秒 CURRENT_TIME;--時 分 秒--現在の日付を取得します。
-- current_timestamp;--all SELECT CURRENT_TIMESTAMP from student;
-- current_timestamp();--all SELECT CURRENT_TIMESTAMP() from student;
 -- CURRENT_DATE();-- 年 月 日 select CURRENT_DATE() from student;
-- CURRENT_DATE;-- 年月日 学生からCURRENT_DATEを選択します。
-- CURRENT_TIME();-- 時間、分、秒 SELECT CURRENT_TIME() FROM student;
-- CURRENT_TIME;-- 時間、分、秒 SELECT CURRENT_TIME FROM student;

strの時間

形式:
date_format(date,format)
date:時間
format:格式

これまでのstr

形式:
str_to_date(str,formaat)

日付から*を選択します。
 -- 時間を文字列に変換する
 -- フォーマット:
 -- date_format(日付,形式)
-- 日付: 時刻 -- 形式: 形式 select DATE_FORMAT('2021-09-01','%Y~%m~%d');
-- 日付までの str -- 形式:
 -- str_to_date(str,形式)
 STR_TO_DATE('2021-09-01','%Y-%m-%d')を選択します。


日付の減算

形式:
datediff(expr1,expr2);

注意:減算できるのは年、月、日のみです。時間、分、秒を含む演算の結果は null になります。

datediff(式1,式2);
-- 注意: 減算できるのは年、月、日のみです。時間、分、秒を含む演算の結果は null になります。
DATEDIFF('2021-09-09','2021-09-01')を選択します。

この関数は、指定された時間間隔を日付に追加します。

形式:
DATE_ADD(日付、INTERVAL 式、単位);
日付: 時間
INTERVAL:キーワード
expr: 区間の値
単位: 年 月 日 時間 分 秒 (..,...,日,..,..,..)

DATE_ADD('2021-09-09',INTERVAL +10 YEAR) を選択します。
DATE_ADD('2021-09-09',INTERVAL +10 DAY) を選択します。


12. 配列計算

round(x,d): 丸め
x: 値
d: 小数点以下の桁数

ceil(x): 切り上げ
floor(x): 切り捨て
rand(): 乱数(0から1の間)

-- 配列の計算 -- round(x,d): 丸め -- x: 値 -- d: 保持する小数点以下の桁数 SELECT ROUND(1.3,2); #2 は保持する小数点以下の桁数を意味します -- ceil(x): 切り上げ SELECT ceil(1.2);
-- floor(x): 切り捨て SELECT floor(1.2);
-- rand(): 乱数(0から1の間)
 rand() を選択する;

13. ソート

形式:
order by 字段1 asc|desc,字段2 asc|desc...字段n asc|desc;

学生から * を選択し、スコア、仕事の順序で並べ替えます。
 SELECT * from student ORDER BY score desc, job desc;


知らせ:

  • デフォルトの昇順は asc、降順は desc
  • 複数のフィールドがある場合は、順番に並べ替えます。

14. グループ化

形式:

group by 字段1,字段2...字段n;

知らせ:

  • 複数のフィールド、すべてのフィールドでグループ化(グループ化)
  • 表示されるグループの数と表示されるデータの数(デフォルトでは、条件付きフィルタリングは実行されません)
  • グループに表示されるデータは、各グループのデフォルトの最初のデータです。
  • byは通常、集計関数と一緒に使用されます。
スコアがcの場合、学生からcとしてmax(スコア)を選択します。
スコアがcである学生から、cとしてmax(スコア)を選択します。
どちらも実行できません。SELECT count(*),job,`name`,id as c from student GROUP BY sex where c>2; #エラー SELECT count(*) as c,job,`name`,id from student GROUP BY sex HAVING c>2;

-- select id,name,sex from student where job='a'; # 実行可能 --select id,name,sex from student having job='a'; # 実行不可 (表示後にジョブなし)
-- 実行プロセスはfrom-where-select-havingです
-- select count(*) c from student where c>1; -- いいえ -- select count(*) c from student having c>1;-- OK select count(*) c,sex from student group by sex where sex='男';
select count(*) c,sex from student group by sex having sex='男';


--having は SELECT count(*)as c,name,id FROM student where sex='男' HAVING c>3; と一緒に使用されます。
ここで、テーブルからデータをフィルタリングします。
テーブル内の選択されたデータを選択することです。

MySQL の基本的なよく使われるコマンドのまとめはこれで終わりです。より関連性の高い MySQL のよく使われるコマンドについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL データベースの基礎を始めるための一般的なコマンドの概要
  • MySQL データベースの基礎: 基本コマンドの概要
  • MySQL データベースの基本コマンド (コレクション)
  • MySQLの基本を学ぶ MySQLコマンドを簡単に学ぶ
  • MySQL学習のための基本コマンドまとめ

<<:  表示または可視性によってHTML要素を非表示にする

>>:  Vue のライフサイクルとフック関数

推薦する

CSS で高さが不明な垂直中央揃えを実装する

この記事では主に、高さが不明な垂直方向の中央揃えを CSS で実装する方法を紹介し、皆さんと共有しま...

Vue はタブ ラベルを実装します (ラベルが自動スクロールを超える)

作成されたタブラベルがページの表示領域を超えると、タブラベルの距離だけ自動的にスクロールされます。ま...

nacos が mysql に接続できない場合の解決策

理由nacos の pom が依存する mysql バージョンが、mysql バージョンと一致してい...

CSS スティッキー配置位置の詳細な説明: スティッキー問題の落とし穴

前書き: position:sticky は CSS ポジショニングの新しい属性です。相対ポジショニ...

はじめに: HTML の基本的なタグと属性の簡単な紹介

HTML はタグと属性で構成されており、これらを組み合わせてブラウザにページの表示方法を指示します。...

Docker+Nginx を使ってシングルページアプリケーションをデプロイする

開発から導入まで自分で行うシングルページアプリケーションを開発する場合、ビルドを実行した後 npm ...

node.jsのインストールとHbuilderXの設定の詳細な説明

npm インストールチュートリアル: 1. Node.jsインストールパッケージをダウンロードする公...

docker pruneコマンドは、あまり使用されないデータを定期的にクリーンアップするために使用できます。

目次docker システム df docker システム プルーンNoneオブジェクトをクリーンアッ...

タグのターゲットリンクを iframe に向ける方法

コードをコピーコードは次のとおりです。 <iframe id="myFrameId&...

JavaScript で 2 次元配列を作成するためのヒント

Js での 2 次元配列の作成:まず、JavaScript は 1 次元配列のみをサポートしています...

imgタグ間のスペースの問題の詳細な説明

IMG タグの基本分析 HTML5 では、img タグには 4 つの要素があります。 (1) src...

クリックナンバーゲームを実装するネイティブJS

参考までに、クリックナンバーゲームをネイティブJSで実装しました。具体的な内容は以下のとおりです。最...

Webpack パッケージング CSS 背景画像パスの問題に対する完璧なソリューション

vue コンポーネントのスタイル タグ内には、背景画像を使用する次の CSS コードがあります。 背...

Mac での MySql の詳細なインストールと構成

1.ダウンロードしてインストールする公式ウェブサイトからコミュニティ エディションの dmg インス...

Vueプロジェクトの支払い機能コードの詳細な説明

1. Alipay方式: Alipay メソッド: Alipay をクリックして支払い、バックエンド...