2年生の1学期は、内容がほとんどなく、概念がなく、実用的なものだけを学ぶ

すべてのデータベースを表示する方法:

データベースを表示します。

特定のデータベースに入る方法:
xxx を使用します。

データベースへの入力方法:

データベース jx を作成します。

データベースをドロップする方法:

データベース jx を削除します。

すべてのフォームを表示する方法:

テーブルを表示します。

データ テーブルの作成方法:

create table teacher(id int,name

varchar(10),address varchar(100),score float,time date);

表を変更する方法 (列を追加):

テーブルの教師を変更して、電話を追加します varchar(11);

テーブルを変更する方法 (列をドロップ):

テーブル教師のドロップスコアを変更します。

テーブルの変更方法 (列の変更):

テーブルの教師を変更して電話の整数を変更します。

テーブルをドロップする方法:

テーブルの学生をドロップします。

テーブルの制約管理:

not null 制約 not null

一意の制約

主キー制約 主キー

デフォルトの制約のデフォルト

例:

テーブルの学生を作成する

(id int 主キー、name varchar(10) not null、phone varchar(11) デフォルト「18502348498」、アドレス

varchar(100) 一意)

データベースのテーブル操作には 4 つの操作があります。

クラッド

追加操作:

INSERT INTO employees_cn

 (employee_name, employee_address, employee_price) VALUES (" Li Lan","Changsha",14500),("Li Lan の母親","Zhuzhou",9000);

削除操作:

DELETE FROM employees_cn WHERE employee_name="诸葛亮";

DELETE FROM employees_cn WHERE employee_name="周杰" AND employee_address = "深圳";

変更操作:

UPDATE employees_cn set employee_address = "佛山" , employee_price = 51000 WHERE employee_name = "马超";

クエリ操作:

SELECT * from employees_cn WHERE employee_price >= 20000;

結果として 1+2*8+5/2 を選択します。

重複排除:

SELECT DISTINCT employees_price FROM employees_cn;

ページネーション:

SELECT * FROM 都市 LIMIT 3,15;

説明: 3: 4 から始まり、3 は含まれません

15 : 15 行後方にカウントします。

完全修飾テーブル名を使用します。

SELECT city.population FROM city;

並び替え:

SELECT*from employees_us ORDER BY employees_price;

昇順: asc。デフォルトは昇順であるため、空白のままにすることができます。

降順: desc

複数のシーケンスで並べ替える:

最初のシーケンスが機能する場合、次の列は機能しません。逆の場合も同様です。

SELECT * from employees_us ORDER BY employees_price,employees_name;

使用する場所:

SELECT * from employees_cn where employees_price BETWEEN 10000 and 20000;

SELECT * from employees_cn where

employees_price>=10000and employees_price<=20000;

SELECT * from employees_cn where

従業員の価格 >= 10000 および従業員の価格 <= 20000

ORDER BY employees_price;

SELECT * from employees_cn where

Employees_name がヌルです。

使用する場所を組み合わせる:

と:

* フォーム employees_cn where employees_name=”周杰” and employees_address=”抚州”;を選択します。

または:

* フォーム employees_cn where employees_name=”周杰” または employees_address=”抚州”;を選択します。

の:

* フォーム employees_cn where employees_id=18 or employees_id=21 or employees_id=23; を選択します。

同等

select * form employees_cn where employees_id in(18,21,23);

ありませんで:

select * form employees_cn where employees_address not in(" Fuzhou","Zhuzhou","Shanghai");

いいねの使用

like を単独で使用すると、= と同等です。

* from employees_us where employee_name like “jerry”; を選択します。

ワイルドカード:

% : 任意の文字数を示します

* from employees_us where employee_name like “%jerry%”; を選択します。

_:任意の文字を表します

* from employees_cn where employee_name like “张_”;を選択します。

エスケープ文字:

選択 * from employees_cn where employee_name like “jerry/_%”escape”/”;

スプライス フィールド

SELECT concat(employee_name,"---",employee_address) as "結果" FROM `employees_cn`;

計算フィールド

SELECT sid*score FROM `score`;

関数の使用

SELECT concat (employee_name,"---",employee_address) as "結果" FROM `employees_cn`

sid *スコアからスコアを選択します。

左を選択("こんにちは、もう食べましたか?",4)

右を選択("こんにちは、もう食べましたか?",4)

employee_id = 21 の employees_cn から(employee_name,2)を選択

長さを選択(「こんにちは」)

employee_id = 21 の employees_cn から長さ(employee_name)を選択します

select SUBSTRING ("こんにちは、食べましたか???",2)

select SUBSTRING ("こんにちは、食べましたか???",2,4)

employee_id = 21 の employees_cn からSUBSTRING (employee_name,2)を選択

日付処理関数

現在の日付を取得する

今すぐ選択();

SELECT SYSDATE ();

SELECT CURRENT_TIMESTAMP ;

SELECT CURRENT_TIMESTAMP ();

SELECT CURRENT_DATE ;

SELECT CURRENT_TIME ;

日付のフォーマット:

select DATE_FORMAT ('2008-08-09 22:23:01','%y-%m-%d %h:%i:%s');

現在までの文字列:

select STR_TO_DATE ('08/09/2008','%m/%d/%y');

時間は秒に変わります

TIME_TO_SEC ('01:00:05')を選択します。

今日までの日数

SELECT MAKEDATE (2019,300);

DAYOFYEAR ("2019-10-23")を選択します。

数値関数:

丸め

ラウンド(48.3847)を選択

ROUND (48.3847,1)を選択

employees_cn から MOD(CEIL(ROUND(employee_price)), 10) を選択

切り上げ

CEILを選択(48.2)

切り捨て

フロアを選択(48.9)

残りを取る

モッドを選択(18,3)

処方

正方形を選択(9)

索引

POW (2,10)を選択

絶対値

ABSを選択(-9)

平均値

スコアから平均(スコア)を選択

カウント

スコアからカウント(*)を選択

スコアからカウント(固有名)を選択

お買い得

スコアから最大(スコア)、名前を選択

min (スコア)、スコアから名前を選択

合計する

スコアから合計(スコア)を選択

グループ クエリ

SELECT round(avg(score)),class from score GROUP BY class;

フィルタ グループ

SELECT avg(score) as a,score from score GROUP BY class HAVING a < 80;

スコア < 80 のスコアからスコアを選択

テーブルで行動し、グループで行動する

select句の順序

from、on、join、where、group by、having、select、distinct、order by、limit

round (avg(score),1) as a, class from score where score > 70 GROUP BY class HAVING a >= 85 ORDER BY a LIMIT 0,2;

サブクエリ:

select * from score where score = (select min(score) from score)

次の 2 つの文の合計に等しい

スコアから最小 (スコア) を選択します。

select * from score where score = 60;

接続クエリ

マルチテーブル操作に適しています

外部結合: 左結合、右結合を含む

SELECT a.*, b.* from student_info a left join student_score b on a.student_id = b.student_id

SELECT a.*, b.* from student_info a right join student_score b on a.student_id = b.student_id

デカルト積接続:内部接続、自然接続、クロス接続、自己接続を含む(原理:デカルト積)

a.*、b.* を Student_info から選択 a内部結合Student_score b

a.*、b.* を Student_info から選択 a内部結合Student_score b on a.student_id = b.student_id

SELECT A.*, B.* from student_info A cross join student_score B

SELECT A.*, B.* from student_info A A.student_id = B.student_idstudent_score B をクロス結合する

SELECT A.*, B.* from student_info A自然結合Student_score B

A.score < B.scoreおよびA.name = "王兰"スコアから B.* を選択し、スコアを B として結合します。

複合クエリ

prod_price < 5 の製品から vend_id、prod_id、prod_price を選択vend_id が (1001,1002) の製品から vend_id、prod_id、prod_price を選択

prod_price < 5 の製品から vend_id、prod_id、 prod_price を選択vend_id が (1001,1002) の製品から vend_id、prod_id、prod_price を選択

prod_price < 5 の製品から vend_id、prod_id、prod_price を選択しますvend_id が (1001,1002) の製品から vend_id、prod_id、prod_price を選択しますprod_price

unionの結果は重複排除されますが、union all の結果は重複排除されません

意見

ビューを作成する方法create view abc as select * from employees_cn where employee_id BETWEEN 14 and 20

ビュー操作はテーブル操作と同じです

索引

機能: 検索速度の向上

インデックスの作成方法create index aaa on employees_cn(employee_name, employee_price)

インデックスの使い方

事務

  1. コンセプト
  2. 特長 アトミックな一貫性 分離の永続性

トランザクションを開始します。

INSERT into score (name, class, score, sex, phone) VALUES (" Intelligence", "software 1" ,'43', "female", '1213');

セーブポイント p;

INSERT into score (class, score, sex, phone) VALUES (" Zhang Xiaoxia", "Software 1", "23", "Female", '12133');

ROLLBACK から SAVEPOINT p;

専念;

絶え間ない

変数

ユーザー変数 @ の後には変数が続きます

set @name = " Li Lan";

select * from employees_cn where employee_name = @name;

@xxx を選択 := (@xxx := 8) + 2;

ローカル変数

ストアド プロシージャに作用する

DECLARE abc int DEFAULT 0;

システム変数

CURRENT_TIME を選択

CURRENT_USER を選択

If制御ステートメント

ケースコントロールステートメント

ループ制御文

カスタム機能

ストアド プロシージャ

引き金

おすすめ

転載: blog.csdn.net/weixin_43344151/article/details/130439545