MySqlステップアップチュートリアル

3495 ワード

mysqlクエリー構文select*fromテーブル名*テーブル全体select列名fromテーブル名whereクエリー条件式SELECT grde ASカリキュラムFROM student
空行select sname,semail from student where semial is nullのクエリー
固定行select snameを制限、semail from student limit n//1-n行からselect snameが表示され、semail from student limit n、m//(n,m)行から表示されます
クエリーソート昇順SELECT*FROM student ORDER BY result ASC–昇順降順SELECT*FROM student ORDER BY result DESC LIMIT 5--降順
スペル文字select group_concat(フィールド名)fromテーブル名
四捨五入select round(sum(フィールド名))fromテーブル名
四捨五入はn個の小数ビットselect round(sum(フィールド名)、n)fromテーブル名を保持する
時間条件照会WHERE DATE_FORMAT(fctime,’%Y%m’)=DATE_FORMAT(“2018-1-1” , ‘%Y%m’)
最大値、最小値SELECT MAX(result)FROM student&&SELECT price FROM bill ORDER BY price DESC LIMIT 1 SELECT MIN(result)FROM student
その他の構文SELECT*FROM student ORDER BY result DESC LIMIT 5 SELECT*FROM student LIMIT 5 SELECT*FROM student WHERE studentfirs IS NOT NULL AND studentname='b'SELECT*FROM student WHERE studentfirs IS NOT NULL AND studentname='b'UPDATE student SET studentname='a'WHERE studentname='b'OR studentname='c;UPDATE表名SET studentname=‘a’WHERE studentname=‘b’OR studentname=‘c’;SELECT * FROM student WHERE studentfirs<14 1.グループbyを使用してパケットクエリ2を行う.マルチテーブルクエリ
パケットクエリ文select...fromテーブル名where...group by...group byパケットの根拠
SELECT COUNT()AS人数、SGrade AS学年FROM Students GROUP BY SGrade SELECT CourseID、AVG(Score)AS課程平均成績FROM Score GROUP BY CourseID ORDER BY AVG(Score)–学期ごとの男女の学生数を統計SELECT COUNT()AS人数、gradeid AS学年、sex AS性別FROM student GROUP BY gradeid、sex ORDER BY gradeid
グループ選別文SELECT…FROM WHERE…GROUP BY…HAVING…SELECT COUNT()AS人数、SGrade AS学年FROM Studio nts GROUP BY SGrade HAVING COUNT()>15 having用法:ソート後の条件制約
順番where------>groupby------>having------>order by
マルチテーブル結合クエリー内結合(inner join)inner join
SELECT S.SName,C.CourseID,C.Score FROM Score AS C INNER JOIN Students AS S ON C.StudentID = S.StudentID SELECT Students.SName, Score.CourseID, Score.Score FROM Students,Score WHERE Students.StudentID = Score.StudentID外部接続左外部接続(LEFT JOIN)右外部接続(RIGHT JOIN)
SELECT S.SName,C.CourseID,C.Score FROM Score AS C INNER JOIN Students AS S ON C.StudentID = S.StudentID
同じ等価SELECT Studio.SName, Score.CourseID, Score.Score FROM Students,Score WHERE Students.StudentID = Score.Studio ID 3テーブル内結合
SELECT S.SName AS名前、CS.CourseName ASコース、C.Score AS成績FROM Students AS S INNER JOIN Score AS C ON(S.SCode=C.StudentID)INNER JOIN Course AS CS ON(CS.CourseID=C.CourseID)SELECT*、b.uid"ユーザid"FROM address b、users a where b.uid=a.id//as節約可能
左外部連結右外部連結right join
SELECT S.SName,C.CourseID,C.Score FROM Studio AS S LEFT JOIN Score AS C順次固定ON C.Studio ID=S.SCodeサブクエリ
SELECT Student_No, Student_Name, Sex, Born_Date, Address FROM Student WHERE Born_Date>(SELECT Born_Date FROM Student WHERE Student_Name='李斯文)一意性
制約が空でない制約(not null列にnot nullが定義されている場合、データを挿入する場合は、列にデータを提供する必要があります.プライマリ・キー制約(primary key):テーブル行を一意に識別するデータで、プライマリ・キー制約を定義すると、列は重複するだけでなくnullにはなりません.外部キー制約(foreign key):プライマリ・テーブルとセカンダリ・テーブルの関係を定義するために使用されます.外部キー制約をセカンダリ・テーブルに定義するには、プライマリ・キー制約が必要です.外部キー制約を定義した後、プライマリ・テーブルのプライマリ・キー列に外部キー列データが存在するかnullである必要があります.チェック制約(check):行データが満たさなければならない条件を強制するために使用され、age列にcheck制約が定義され、age列値が0~100の間であることが要求され、0~100の間でないとエラーが表示されます.
データベース作成ビュー選択したデータベースをダブルクリックし、「Create View...」を右クリックして編集ウィンドウを開き、ウィンドウにコードを入力します.コードは次のとおりです.
CREATE VIEW view_worker_info AS SELECT * FROM t_worker_info; ビュー情報の表示show table status like'view_worker_info’;