MySQLの基本操作ガイド

ログデータ
のmysql -uroot -proot

データベースの終了
終了]を
終了
Ctrlキー+ Dを

ビューデータベースのバージョン
を選択したバージョン();

表示時間
になりまし選択();

使用して現在のデータベースを見る
選択したデータベースを();

すべてのデータベースが表示
データベースを示し;

データベースを作成
するデータベースのpythonのcharset = UTF8を作成します。

使用するデータベース
用のPython;

削除、データベースの
ドロップデータベースのpython。

現在のデータベース内のすべてのテーブル見る
ショーのテーブルを。

创建表
テーブルの学生を作成する(
符号なし主キーAUTO_INCREMENT int型のID、
名前のVARCHAR(20)NOT NULL、
年齢TINYINT(1)、
高進(3,2)、
dender列挙型( 'M'、 'W')、
cls_id int型符号なし
);

データテーブル構造を参照してください
DESCクラス。

作成するビューのテーブル構造
テーブルの学生を作成するショーを\ G。

フィールド名追加
。ALTER表生徒の追加誕生日の日時を、
ALTER表生徒は0 is_delete追加。「ビットデフォルト; // 0」ビット値

名前の変更フィールド名
ALTER TABLEの学生は、誕生日の誕生日時を変更します。

フィールドタイプ変更
nullでないALTER TABLEの学生修正誕生日を 。

[削除]フィールド
ALTER TABLEの学生が出産をドロップします。

ドロップテーブルの
ドロップテーブルの学生。

データクエリー
SELECT クラスから;
SELECT
。学生からWHERE名= 'sima3';

学生からのID、名前を選択し、
フィールドにエイリアシング
「いいえ」として選択IDを、学生.;から「名前」として名
SELECT年齢、学生から名前を;

データの挿入
INSERT INTOクラス値(1、 'python20'、70);
INSERT INTOクラス値(NULL、 'python19'、60);

単一の挿入
。INSERT INTO学生値(NULL、 'sima2'、18は、1.74であり、 'M' ,. 1)
。INSERT INTO学生(ID、名前)の値(NULL、 'sima3')。

複数の挿入
(NULL、 '学生値にインサートを 、oyang' 18、1.74、 'M'、1)、(NULL、 'oyang1'、18、1.74、 'M'、1);

修改数据
更新学生は年齢= 38を設定します。
アップデート学生セット年齢= 88名=「sima3」;
アップデート生徒設定された高= 1.2、性別= 'M'名= 'sima3';

削除データ
ID = 2の学生から削除します。

データバックアップ
のmysqldump -uroot - PROOTパイソン> python.sql
MySQLの-uroot - PROOTパイソン<python.sql

テーブルのエイリアス
。SELECTはs.id、AS Sから学生S.name;
SELECT students.id、AS Sから学生Students.name;(エラー)

再ために、
学生は異なる性別を選択します。

比较运算符
選択年齢> 18学生から。
選択する
学生からどこ年齢= <18;
!年齢= 18の学生から*選択します。

逻辑运算
選択年齢> 18歳<20の学生から。
選択
年齢<18や年齢> 20学生から。
学生から*を選択する場所ではない年齢> 18;

ファジィクエリ
SELECT (最初の);学生の王% 'のようなWHERE名から
SELECT
学生の王%%'のようなWHERE名から;(含まれて)
SELECT 学生のようなWHERE名から「__」;(名前の二つの単語)
SELECT
から学生の__% 'のような名前 ;( ワード名を超えます)

范围查询
選択ID(1,3)の学生から。
選択
ID 1と3の間の学生から、(包含1~3)
IDではない1と3の間の学生SELECT * FROM。(包含1~3)

空值判断
選択高さがnullの学生から。
選択
高さがnullでない学生から。

排序どこ之后
選択高さによって、学生の順番から、
選択
高さDESCにより、学生のために、
年齢DESC、高さDESCにより、学生のための*選択します。

集計関数
SELECT COUNT(*)からのカウントなどの学生;( レコードの合計数を記録)
SELECT MAX(年齢)学生から.;(最大歳)
SELECT分(年齢)学生から.;(年少)
SELECT SUM(年齢)学生から; (和)
学生からSELECT AVG(AGE);(平均)
学生からラウンド選択(AVG(AGE)、2);(丸い、円形集計しない機能)

グループ分组
男女別の学生グループから選択性別; (查询年龄类别)
を選択し、性別、カウント数(男女別の学生グループから)。
男女別性別=「M」または性別=「W」グループの学生からの最大(年齢)、性別を選択します。
男女別の学生グループから性別、GROUP_CONCAT(名前)を選択します。(GROUP_CONCAT对应的名字连接)
男女別の学生グループから性別、AVG(年齢)を選択します。
(分组后的年龄大于19岁);平均> 19を持つ男女別の学生グループからの平均として性別、AVG(年齢)を選択し
、性別によって、学生のグループから選択性別、AVG(年齢)、GROUP_CONCAT(名);
(カウント、性別を選択し
、性別はC> 2を有することにより、学生のグループからC、GROUP_CONCAT(名)のように)。
ロールアップと性別によって、学生のグループからCOUNT(*)、性別を選択し;(总计)

記録された限度の制限(最後のSQLで書かれた)
SELECT 学生から0,2制限;。(0開始、2つのレコードの後には)
SELECT
学生から上限2。

標準SQL:
テーブルから選択フィールド[ここ] [によるグループ] [順] [リミット]

タブ
SELECT 学生から0,2限界;
SELECT
(クエリごとのタブの数、nは最初の数ページ、M);学生限界(から N-1)* M、M

连接(关联表的条件場合查询条件で)
選択内側生徒のクラスに参加する;(笛卡尔积)
を選択
内側学生からここstudents.cls_id = classes.idクラスに参加します。
students.nameを選択し、内側の学生からclasses.nameがどこstudents.cls_id = classes.idクラスに参加。
s.nameを選択し、sのインナーとして学生からc.nameがC s.cls_id = c.idとして授業に参加します。
C s.cls_id = c.idとしてs.name、Sなどの学生からc.name、クラスを選択します。
Sを選択します。、学生からのc.nameは、内側がs.cls_id = c.idにCなどのクラスに参加Sなど。
選択
内側の学生からclasses.idによってstudents.cls_id = classes.idためのクラスに参加。
I.CODE、i.price、に関する情報からf.note_info iは、ここi.id = f.id Fフォーカスを選択します。

外部接続:データがNULLに対応するテーブルから、テーブルからプライマリ・テーブルに見つからなかった
(表の右側に、左側のメインテーブルにテーブルをテーブル)外側のコネクタを残し
。参加クラスSELECT * FROMは、学生を左Students.cls_id = ON WHERE classes.id classes.nameはnullです。

右の外部結合(右表ベースのテーブル、左側のテーブルからテーブル)
。右の学生に参加しStudents.cls_id ON = classes.idクラスからSELECT *;

自は连接
都心は上の領域州に参加するなどの分野から選択* city.pid = province.aidどこprovince.title =「广西省」;

サブクエリ
1、スカラーサブクエリと呼ばれる唯一のデータは、サブクエリ戻る
SELECT (学生からSELECT AVG(高さ))学生からの高さ>;
2、結果は1、すなわち、複数の行であり、列と呼ばれるサブクエリ
SELECT
から学生どこID(からIDを選択中のクラス)。

去重
cate_nameにより商品のグループからcate_nameを選択します。
商品は異なるcate_nameを選択します。

価格DESCにより、(財から選択AVG(価格))価格>オーダー品から選択*;

商品から選択*
インナー参加
max_price_goodsとして(cate_nameによる商品のグループからMAX_PRICEとして選択cate_name、最大(価格を))
goods.cate_name = max_price_goods.cate_nameとgoods.price = max_price_goods.max_priceに。

分组插入
goods_cates(名)に挿入(cate_nameによって商品グループからcate_nameを選択)。
内側のアップデート品はgoods.cate_name = goods_cates.nameセットgoods.cate_name = goods_cates.idにgoods_catesに参加します。

ALTER TABLEの商品はcate_name cate_id int型符号なしていないヌルを変更します。

外部キー制約:別のテーブルのテーブルの主キーが発生し、主キーは、テーブルの別の外部キーであり、外部キーのデータなしでは存在できない
ALTER表製品の追加外部キー(cate_id)参考資料goods_cates(ID);
ALTER表製品追加外国人キー(brand_id)参考資料goods_brands(ID)は、
表goods_test(作成
主キーAUTO_INCREMENT、符号なしID int型
名VARCHAR(150)NOT NULL、
cate_id int型符号なしていないヌル、
brand_id int型符号なしていないヌル、
外部キー(cate_id)参考資料goods_cates(IDを)、
外部キー(brand_id)を参照のgoods_brandsは、(ID)
);
ALTER表外部キー)が表示テーブルgoods_testを作成する(外部キー名を削除goods_test。

表示:仮想パッケージテーブル、複雑なSQLクエリ文の実行結果のフィールドタイプと制約のみ
を選択goods.name gnameは、goods_cates.name gcname、goods_brands.nameインナー商品からgbnameはgoods.cate_id = goods_cates.id内部にgoods_catesに参加goods.brand_id = goods_brands.idにgoods_brandsに参加し、
作成
作成AS v_goods_infoビュー
からSELECT goods.name gnameは、goods_cates.name GCName、goods_brands.name gbname製品
内部には参加goods_cates ON = goods_cates.id goods.cate_id
インナーONがgoods_brandsグッズに参加。 brand_id = goods_brands.id;
参照
テーブルを表示します。
SELECT * v_goods_infoから、
削除
ドロップビューをv_goods_info。

インデックス:(BTREE)
前提1:更新へとめったに単独で使用しない文のインデックスは必要ありませんテーブル、挿入、通常の必要性については
、商品のショーのインデックスを表示するためには、
商品のインデックスidx_1を作成します(名前( 150)) ;
商品のインデックスドロップインデックスidx_1を削除します。

= 1(時間監視)セットプロファイリング
プロファイルの表示、時刻表示

ユーザー管理:
ビューすべてのユーザー:選択したホスト、ユーザーからユーザー、
ユーザーを作成します。ユーザーwufj1」を作成@「 %」「wufj1」によって識別される;
許可:.グラントに* jing_dongに選択する 「wufj1」@「%」;( 複数のデータベース、複数のステートメントを実行)
の権限:更新[削除]を選択し、挿入を選択し、アラートのドロップ =>すべての権限

指定IP授权:上のすべての権限を付与GRANT OPTION付き「ルート」で識別される「root'@'10.3.32.61」に;;

所以权限:すべてのwufjの補助金* 'wufj' へ@ '%' WITH GRANT OPTIONを 'wufj' によって識別される;;。

最新の情報に更新権限:フラッシュ権限;
ユーザー権限を表示:@「wufj1」のショーの助成金 「%」;

変更許可:GRANTオプションと '%' @ 'wufj1' への助成金を選択し、jing_dongの更新* ;.

パスワード変更:ALTERユーザーwufj1 '@「%」「123」によって識別されます。

删除用户:
ドロップユーザーwufj1 '@ '%';
ホスト=「%」は、ユーザとユーザ=「wufj1」から削除

異なるデータベーステーブルの間でデータをコピーする
INSERT INTOはwangsunew.sw_setname SELECT * FROMをsw_setname。

おすすめ

転載: blog.51cto.com/13025012/2482112