1. ホーム
  2. mysql

[mysql] コマンドラインガイド

2022-02-14 15:32:45
<パス

mysqlの簡単な紹介

MySQLは、スウェーデンのMySQL ABが開発したリレーショナルデータベース管理システムで、現在はオラクルの傘下に入っている。MySQLは、最も人気のあるリレーショナルデータベース管理システムの1つで、WEBアプリケーションに最適なRDBMS(リレーショナルデータベース管理システム)アプリケーションです。MySQLは、最も人気のあるリレーショナルデータベース管理システムの1つであり、Webアプリケーションに最適なRDBMS(リレーショナルデータベース管理システム)アプリケーションです。
MySQL はリレーショナルデータベース管理システムです。リレーショナル・データベースは、すべてのデータを1つの大きな倉庫に入れるのではなく、異なるテーブルにデータを格納することで、スピードを上げ、柔軟性を向上させることができます。
MySQLが使用するSQL言語は、データベースへのアクセスに使用される最も一般的な標準化言語です。MySQLソフトウェアはデュアルライセンシングポリシーを採用しており、コミュニティ版と商用版に分かれています。MySQLは一般的に、その小さなサイズ、スピード、低い総所有コスト、そして特にオープンソースの特徴から、中小規模のWebサイト開発におけるWebサイトデータベースとして選ばれています。

目次を見る
1. mysqlに接続する3つの方法
2. 基本的なSQL文
3. データテーブルを操作する
4.データ型
5. プロパティと制約条件
6. テーブル構造の変更
演習問題
7. テーブルデータの追加・削除・チェック


コマンド紹介

1. mysqlに接続する3つの方法

  • コマンドライン内から、次のように入力します。 mysql -u root -p Enter、次にパスワードを入力し、Enterで入力する
  • コマンドラインから、次のように入力します。 mysql -h localhost -P 3306 -u root -p Enter、次にパスワードを入力し、Enter、runで入力します。
  • (Windows)あなたは、スタートメニュー、mysqlフォルダ内のMySQLを探し、コマンドラインクライアントを起動し、パスワードを入力することができます。

2. 基本的なSQL文(SQL文はセミコロンで終わる)(一般的なエクセルのcreate write and storeに類似している)。

  • すべてのデータベースファイルを表示する(Excelファイルのディレクトリを開くのに似ている) show databases;
  • データベースの作成(エクセルファイルの作成と同様) create database test;
  • データベースを使用する(エクセルファイルを開くのと同じです) use test;
  • データテーブルを見る(どのようなシートがあるか見るのと同等です) show tables;
  • ライブラリの削除(エクセルの削除と同等)
    drop database test;
    

3. データテーブルを操作する

  • テーブルの作成(エクセルで新しいシートを作成し、シートの最初の行で名前、年齢、性別など各列に記入する内容を指定するのと同じです)
  create table [if not exists] table name (
    			field name1 column type [attribute] [constraint] [comment],
    			field name2 column type [attribute] [constraint] [comment],
    			......
    			field name n column type [attribute] [constraint] [comment]
    		);



  • テーブルの削除(Excelの既存シートの削除と同等) drop table (table name);
  • テーブル構造の表示 desc (table name);
  • データテーブルを表示する
    show tables;
    

4. データ型(一般に列型に使用される)

  • 数値型

整数です。一般的なものは、int bigint
浮動小数点:よく使われるのはfloat double

  • 文字列型(mは長さの値)

char(m)
varchar(m) varchar(20) 20文字を意味します。
テキスト
longtext : 小説を保存する

  • 日付の種類

日付 2019-8-3
日時 2019-8-3 10:05:30
timestamp タイムスタンプ
時間 10:05:30


5. 属性と制約

  • ヌル空
  • not null not null
  • default age : age int default 18 のようなデフォルト値です。
  • ユニークキー ユニークには、カラムの値がユニークであること、すなわち重複がないことを設定する。例えば、ID番号のように、一般的にユニークであることが望ましい
  • 主キー : テーブルが持たなければならない主キーのユニークマーカー(ユニーク属性付き、NULL属性は不可)、一般的には自己増殖の数である。
  • auto_increment: 主キーに auto_increment を設定する必要がある、 int 、その値はロールバックされない。
  • 外部キー : 外部キー 冗長性を減らし、他のテーブルと結合するために使用される。
    構文: constraint 外部キーに付ける名前 外部キー(外部キーを参照させたいカラム名) references 参照先のテーブル名(カラム名でこのカラム名は主キー属性を持っている)。

6. テーブルの構造を変更する

  • テーブル名の変更
    構文: テーブルを変更する (古いテーブル名) 名前を変更する (新しいテーブル名)
    例:-> alter table class1 rename as classOne;

  • フィールドの追加
    構文:alter table (テーブル名) add (フィールド名) (列タイプ) [属性] [制約]を追加します。
    例:-> alter table class2 add phone varchar(20);

  • フィールドを削除する
    構文:alter table (テーブル名) drop (フィールド名)

  • フィールド名の変更
    構文:alter table (テーブル名) change (古いフィールド名) (新しいフィールド名) (列の種類) [属性] [制約].
    例:-> alter table class2 change name stu_name varchar(20) not null;

  • 属性を変更する
    構文:alter table (テーブル名) modity (フィールド名) ( 列タイプ) [属性][制約].
    例:-> alter table class2 modify stu_name varchar(50) not null;

  • 外部キーを追加します。
    構文: alter table (外部キーを追加したいテーブル名) add constraint (外部キーに付ける名前)( foreign key (外部キーに参照したい列名) references (参照テーブル名) (列名と列名が主キー属性を持っている)です。


運動

ライブラリーグッズの作成
グッズライブラリの利用
commoditytype テーブルを作成する commoditytype
商品テーブル「commodity」の作成
c_id 主キー self-growing
c_name 50 文字の文字列 Not null
c_madein 50文字以上 nullでない文字列
c_type, integer, 製品テーブルの ct_id に関連する外部キーです。
c_inprice ,integer Not null
c_outprice,integer nullではない
c_num, 整数値 初期値 100

create table commoditytype(
				ct_id int primary key auto_increment,
				ct_name varchar(50) not null
			) default charset=utf8;

create table commodity(
				c_id int primary key auto_increment,
				c_name varchar(50) not null,
				c_madein varchar(50) not null,
				c_type int,
				constraint fk_1 foreign key (c_type) references commoditytype(ct_id),
				c_inprice int not null,
				c_outprice int not null,
				c_num int default 100
			) default charset=utf8;
		




7. テーブルデータの追加、削除、チェック

7.1 データの追加と挿入
構文:insert into [table_name] ([column], ...) values("name", ...)です。

insert into student(name,age,NCEE_grade,register_date) values("Liu Bei",20,400,"2018-9-1").
insert into student(name,age,NCEE_grade,register_date) values("Guan Yu",19,380,"2018-8-31");
insert into student(name,age,NCEE_grade,register_date) values("Zhang Fei",18,360,"2018-8-30");


<イグ

7.2.行データの削除
構文: delete from [table_name] where [column_name] = " "

1. delete the child named Liu Bei delete from student where name = "Liu Bei".
2. delete children whose age is greater than or equal to 19 delete from student where age>=19;
3. delete from student where date like "2018-09%";


<イグ

7.3.データ値の変更
書式: update [テーブル名] set [columns] = " ",[columns] = " " where /.
例 劉備の子供の高校入試の点数を390点に変更する場合

update student set NCEE_grade = 390 where name = "刘备";


<イグ

7.4.統計的要件に従ったデータのチェック

NCEE_gradeの降順で表示する。

select * from student order by NCEE_grade desc;



各カラムの出現回数のグループ化
フォーマット: select [column],count(*) (as [name]) from student group by [column];

select register_date,count(*) as date_num from student group by register_date;

select name,sum(NCEE_grade) from student group by name ;


<イグ
column1 のグループ分けをもとに、各グループの column2 の合計値を個別に算出する。
書式: select [column1],sum(column2) from student group by [column1] ;

select coalesce(name,"total_grade"),sum(NCEE_grade) as total from student group by name with rollup


<イグ

column1 のグループ化に基づいて各グループの column2 の合計値を計算し、以下の形式で学生の総数をカウントします。 select coalesce(column1, "total_num"),sum(column2) as [name] from student group by [column1] with rollup.グループ化した学生の総数を計算します。

select coalesce(name,"total_grade"),sum(NCEE_grade) as total from student group by name with rollup


<イグ