MySql常用コマンドまとめ

6727 ワード

注意事項:
sqlは、テキスト値を囲むために単一引用符を使用します(ほとんどのデータベースシステムでは二重引用符も使用されます).数値の場合は引用符を使用しないでください.
一、データベース
1、データベースの作成
CREATE DATABASE lesson ;

lessonという名前のデータベースを作成
2、データベースの削除
drop database lesson ;


二:表
1、テーブルの作成
CREATE TABLE `mydb`.`it` (
      `id` INT NOT NULL,
      `name` VARCHAR(45) NULL,
      PRIMARY KEY (`id`)
 );

mydbという名前のデータベースにテーブルを作成します.テーブルの名前はitです.
表にはid,nameの2つのフィールドがあります.プライマリ・キーがidである
2、テーブルの削除
DROP TABLE `mydb`.`it`;

データベース名:mydb
テーブル名:it
3、表の名前を変更する
RENAME TABLE student TO user ;

studentテーブルの名前をuserに変更
4、テーブルのコピー
create table table2 select * from user ;

userテーブルをコピーして、新しいテーブルtable 2を作成します.
三:データを増やす
1、表にデータを挿入する
INSERT INTO `mydb`.`user` (`id`, `name`, `age`) VALUES ('2', 'lisid', '25');

mydb:データベース名
user:テーブル名
id,name,age:3つのフィールドVALESを表す:フィールドに対応するデータ
四:データの削除
1、条件削除(1行のデータを削除)
DELETE FROM user WHERE  id=1  ; 

id=1のすべてのデータを削除する(id=1の行を削除する)
五、データの更新
1、フィールドの値を更新する
UPDATE `mydb`.`user` SET `age`='22' WHERE `id`='1';

データ名:mydbテーブル名:userフィールド:ageフィルタ条件:id=1;
mydbデータベース,userテーブルでid=1の行のage属性値を22に変更する
2、複数フィールドの値を更新する
UPDATE `mydb`.`user` SET `name`='    ', `age`='18' WHERE `id`='2'; 

mydbデータベース、userテーブルでid=2の行のname属性値をミルクティー妹に変更し、age属性値を22に変更
六:データの照会
1、クエリー
SELECT * FROM mydb.user;

mydbデータベースからuserテーブルのすべてのデータをクエリー
2、単一属性クエリー
SELECT name  FROM user ;


userテーブルからすべてのname属性値をクエリーする
3、多属性クエリー
SELECT name , age  FROM user ;

userテーブルからすべてのnameとageの属性値をクエリーする
4、条件照会where
1、idクエリーによる
SELECT name , age , id  FROM user where id = 2 ;

userテーブルからidが2に等しいすべてのname、age、idの属性値をクエリーし、idのタイプが整数であることに注意してください.
2、nameによる照会
SELECT name , age , id  FROM user where name = 'tom' ;

userテーブルからname値が「tom」に等しいすべてのname、age、idの属性値をクエリーします.nameのタイプは文字型で、「tom」には単一引用符を付けます.
3、論理クエリー:より大きい
SELECT * FROM `user` WHERE id > 5  ;

userテーブルからid値が5より大きいすべてのname、age、idの属性値をクエリーするすべての論理演算子は、「より大きい」、「<より小さい」、「>=より大きい」、「<=、等しい=、等しくない」=をサポートします.(または<>)
4、論理クエリー:BETWEEN
SELECT * FROM `user` WHERE id BETWEEN 3 AND 8  ;

user:テーブル名
id:フィールド名
between:オペレータは、2つの値の間のデータ範囲を選択します.
userテーブルからid値が3(3を含む)から(8を含む)までのすべてのname、age、idの属性値をクエリーします.すなわちidが3以上8以下である.
5、論理クエリー:in
SELECT * FROM `user` WHERE age in ( 12 , 18 )  ;

user:テーブル名
age:フィールド名
in:オペレータの役割はクエリー条件に複数の値を規定することです
userテーブルから12歳と18歳のすべての情報を検索します.パラレルセットに相当します.
5、あいまいなクエリlike
1、ファジイクエリ:ある文字で始まる
SELECT * FROM student WHERE phone LIKE '1825%'

student:表名phone:フィールド名は携帯電話番号を表します
LIKE:ファジイクエリ
%:任意のタイプと長さに一致する1つ以上の文字を表します.
studentテーブルから1825で始まる携帯電話番号が検出されました
2、ファジイクエリ:複数の条件
SELECT * FROM student WHERE phone LIKE '182%' AND `name` LIKE 'zhang%'   ;

student:テーブル名
phone:フィールド名は携帯電話番号を表します
name:フィールド名はstudentテーブルから182で始まる携帯電話番号を表し、名前はzhangで始まるすべての情報を表します.
3、ファジイクエリ:ワイルドカード
SELECT * FROM student WHERE phone LIKE '1825110114_'

student:テーブル名
phone:フィールド名は携帯電話番号を表します
LIKE:ファジイクエリ
_ : 1文字を表す
studentテーブルから182510114で始まる携帯電話番号が検出されました
5、ファジイクエリ:含む
SELECT * FROM student WHERE phone LIKE '%114%' ;

student:テーブル名
phone:フィールド名は携帯電話番号を表します
LIKE:ファジイクエリ
%:任意のタイプと長さに一致する1つ以上の文字を表します.studentテーブルから携帯電話番号114を含むすべての情報を検出
6、ファジイクエリ:ワイルドカード解除
SELECT * FROM student WHERE phone LIKE '%114\%'  ;

student:テーブル名
phone:フィールド名は携帯電話番号を表します
LIKE:ファジイクエリ
%:任意のタイプと長さに一致する1つ以上の文字を表します.
studentテーブルから114%で終わる携帯電話番号が検出され、最初の%がワイルドカード、%が%文字、ワイルドカードの機能がない
6、数量制限クエリーlimit
select * from user order by id limit 3 , 5 ;

userテーブルからクエリーは3から始まり(3を含む)、数は5データです.つまり3、4、5、6、7データ
注5はクエリの数を表します
7、単一フィールド並べ替えクエリーorder by
order by文は、指定したカラムに基づいて結果セットをソートするために使用され、デフォルトでは昇順ペアです.
select * from  mydb.`user` order by age ;

mydb:データベース名
user:テーブル名
age:ソートフィールド
userテーブルからすべての情報をクエリーし、クエリー結果をageフィールドでソートします.(デフォルト昇順)
select * from  mydb.`user` order by age DESC ;  

userテーブルからすべての情報をクエリーし、クエリー結果はageフィールドの降順にソートされます.
8、マルチフィールドソートクエリーorder by
select * from  mydb.`user` order by age DESC , `name` ;  

mydb:データベース
user:テーブル名
age:年齢
name:名前
userテーブルからすべての情報をクエリーし、クエリー結果をage降順にソートします.年齢が同じ場合はname、昇順に並べ替えます.
9、総count()を求める
SELECT COUNT( name ) FROM `user`   ;

name:フィールド名、名前
user:テーブル名
userテーブルからnull値を除く名前の値をクエリーします.
SELECT COUNT( * ) FROM `user` ;

クエリーuserテーブルのレコード数
SELECT COUNT( DISTINCT `name` ) FROM `user` ;

クエリーuserテーブルのnameフィールドの異なる値の数は、デウェイトに相当します.
10、最大値max()と最小値min()を求める
MINおよびMAXは、アルファベット順に並べられた最高値または最低値を得るために、テキスト列にも使用することができる.
SELECT MAX( id ) FROM `user` ;

userテーブルからidフィールドの最大値をクエリーする
SELECT MIN( id ) FROM `user` ;

userテーブルからidフィールドの最小値をクエリーする
11、求和sum()
SELECT SUM( id ) FROM `user` ;

id:フィールド名
user:テーブル名
クエリuserテーブルのid値の和
12、平均値avg()を求める
SELECT AVG( id ) FROM `user` ;

id:フィールド名
user:テーブル名
クエリーuserテーブルのid値の平均数
13、すべてのデータベースを表示する
SHOW DATABASES;

14、すべてのテーブルを表示する
SHOW TABLES;

七:ビュー
1、ビューの基本概念
http://www.cnblogs.com/zzwlovegfj/archive/2012/06/23/2559596.html
2、ビューを作成する
CREATE VIEW myview as SELECT * FROM mydb.`user` ;

myview:ビューの名前
mydb:データベースの名前
user:テーブルの名前
ビューmyviewのデータとしてuserテーブルのすべてのデータをクエリー
3、ビューの削除
drop view myview ;

myview:ビューの名前
八:サブクエリ
1、videoテーブルのstatusフィールドが0の最初の5つのデータを検索し、id降順に並べます.
select t.* from (select * from video where status = 0 limit 5) as t order by t.id desc ; 


ここでのselect * from video where status = 0 limit 5は一時テーブルに相当し、別名tで置き換えられる.
個人マイクロ信号:zhaoyanjun 125、ご注目ください