本文目錄一覽:
mysql數據庫SQL語句
你好!
由於mysql不能是用正則表達式,通過關聯的方式也能得到結果:
1:創建數據表
CREATE TABLE tests(
names VARCHAR(16),
chinese INT,
math INT,
english INT
);
2:插入測試數據
INSERT INTO tests VALUES (‘張三’,80,88,98);
INSERT INTO tests VALUES (‘李四’,72,78,98);
INSERT INTO tests VALUES (‘王五’,78,86,98);
INSERT INTO tests VALUES (‘馬六’,89,99,98);
INSERT INTO tests VALUES (‘趙琪’,83,99,98);
INSERT INTO tests VALUES (‘牛八’,98,67,98);
COMMIT;
3:完成樓主需要的查詢
SELECT t2.names ,t2.chinese+t2.math+t2.english sum_value FROM (
SELECT COUNT(t1.names),t1.names FROM tests t1,
tests t2 WHERE t1.chinese+t1.math+t1.english = t2.chinese+t2.math+t2.english
GROUP BY t1.names
HAVING COUNT(t1.names) =3) t1,tests t2 WHERE t1.names = t2.names
4:輸出結果配圖
結論:通過關聯出比自己大的,得到關聯數量最少的三條就是想要的結果;
第二個問題,留給你自己動腦子想想吧!
祝你好運!
mysql增刪改查語句
mysql的增刪改查語句是怎麼寫的,跟sql有什麼區別,基本沒區別,都差不多,特殊的查詢有區別。比如限制結果就不是top了,而是limit 3,5。mysql數據庫備份跟附加是不是必須要關閉tomcat,這個沒必要,直接可以操作,不過如果程序做過映射,那要重新裝載。
往數據中插入數據,在詢問框中填寫 INSERT INTO biao1(name1,age) VALUES(‘新增加1′,’1000’)然後點擊執行按鈕 ,如果成功會顯示執行一條語句,在運行查詢所有語句會發現新插入的信息也能查詢出來。
圖書簡介
MySQL數據庫是以“客戶端/服務器”模式實現的,是一個多用戶、多線程的小型數據庫。MySQL因其穩定、可靠、快速、管理方便以及支持眾多系統平台的特點。
成為世界範圍內最流行的開源數據庫之一。《MySQL數據庫入門》就是面向數據庫初學者特地推出的一本進階學習的入門教材,本教材站在初學者的角度,以形象的比喻、豐富的圖解、實用的案例、通俗易懂的語言詳細講解了MySQL的開發和管理技術。
15個MySQL常用基本SQL語句
在學習SQL語句之前,首先需要區分幾個概念,我們常說的數據庫是指數據庫軟件,例如MySQL、Oracle、SQL Server等,而本文提到的數據庫是指數據庫軟件中的一個個用於存儲數據的容器。
在MySQL中,數據庫稱為database,數據表稱為table,一個數據庫軟件中有多個數據庫(databases),每個數據庫中又可以有多個數據表(tables),最終,數據是存儲在數據表中。
數據庫和數據表之間的關係可以用下面這個圖來表示,對於一個數據庫來說,有多個數據表。
在正式開始寫SQL語句之前,需要說明兩點。
這裡通過MySQL Workbench來寫SQL代碼,在Workbench中,執行一條SQL語句的方式有兩種。
了解了這之後,接下來介紹一些常見的命令,分兩部分:數據庫常用命令和數據表常用命令。
1、查看有哪些數據庫
2、創建數據庫
創建一個名為Testdb的數據庫。
3、創建數據庫並指定編碼格式
有些時候,為了防止中文亂碼,創建數據庫的時候需要指定編碼格式。
4、使用某個數據庫
使用mydb這個數據庫,或者進入mydb這個數據庫。
5、刪除數據庫
刪除Testdb這個數據庫。
1、查看有哪些數據表
進入某個數據庫之後,想查看有哪些數據表,SQL語句為:
mydb是一個新建的數據庫,所以自然是沒有數據表。
2、創建數據表
建表SQL語句格式為:
說明: 每個字段以逗號分隔,最後一個字段不加逗號。
例如,給定一個學員信息表,如下表所示。
根據以上表格,建表SQL語句如下。
以上語句中,primary key表示主鍵,意思是這個字段作為記錄的唯一標識,就像每個人的身份證號,都是唯一確定的。
3、查看錶結構
查看錶結構的SQL命令為:
執行該命令會顯示錶stuinfo的基本結構,例如有哪些字段,每個字段是什麼類型,誰是主鍵等。
4、修改數據表
修改數據表通過drop子句進行,比如,建完表後,想增加一個字段,SQL語句的格式為:
想在指定位置增加一個字段,例如,在某個字段後增加一個字段,SQL語句的格式為:
如果在某個字段之前增加字段,用before即可。
例如,在字段age後增加一個字段major(專業),SQL語句為:
執行這個命令,再通過describe查看錶結構,會發現表中多了一個字段major。
如果要刪除major這個字段,通過drop子句,SQL語句為:
5、重命名表
重命名表通過alter+rename來實現,SQL語句格式為:
這裡為了不影響之前創建的表,我們創建一個新表,SQL語句如下。
以上創建一個名為stuInfoTest的表,現在想將它的名稱改成stuinfotest1,SQL語句為:
6、刪除數據表
刪除數據表通過drop進行,SQL語句格式為:
例如,刪除數據表stuinfotest1,SQL語句為:
7、插入記錄
此時的表stuinfo是空的,沒有數據,我們要向表中插入記錄。
插入記錄通過insert into進行,SQL語句格式為:
例如,向表stuinfo插入一條記錄,SQL語句為:
注意:上方是一條SQL語句,為了可讀性換行,記住一條SQL語句默認以分號結尾。
如果需要一次性插入多條記錄,SQL語句格式為:
例如,向表stuinfo再插入兩條記錄,SQL語句為:
注意:如果設置了主鍵,插入記錄的主鍵字段是不能重複的,也就是不能插入重複的記錄。
作業:大家可以按照上述方法將上面的學員信息表中的所有記錄都插入表stuinfo中。
8、查詢記錄
有了數據之後,就可以查詢記錄了,查詢記錄通過select子句進行。
例如,想查詢表stuinfo中的所有記錄,SQL語句為:
執行之後,就可以看到表stuinfo中的所有記錄了。
如果想查詢符合某個條件的記錄,就要用到where子句了,SQL格式為:
例如,想查詢stuid為20161001的記錄,SQL語句為:
9、刪除記錄
刪除記錄通過delete子句進行,SQL語句格式為:
例如,想刪除stuid為20161002的記錄,SQL語句為:
10、修改記錄
修改記錄通過update子句進行,update就是更新的意思,SQL語句格式為:
例如,想將學號(stuid)為20161001的記錄的姓名(stuname)更新為Jack,SQL語句為:
以上,就是MySQL中的基本SQL語句。
零基礎如何學習數據分析?查看下方專欄。
MySQL語句,大學數據庫查詢。
對錶結構不是很了解,根據自己的理解寫的
1 查詢所有輔修了生物課的學生的學號、姓名以及專業
Select S.StudentID, S.FName,S.Mintial, S.LName
From Student S, DegreeTypeDT, Department D
Where S.StudentID=DT.StudentIDand DT. DegreeType=’Minor’ and D.DepartmentID = DT.DepartmentID and D.DepartmentName= ‘BIOLOGY’
2查詢所有從來沒有選修“King”老師所教課程的學生的學號和姓名
Select S.StudentID, S.FName,S.Mintial, S.LName
From Student S
Where StudentID notin
(select StudentIDfrom Section ST, Grade G where ST.Instructor=’KING’ and ST. SectionNo = G.SectionNoand ST.CourseNo=G.CourseNo)
3查詢所有隻選了“King”老師所教課程的學生的學號和姓名(不存在這樣一門課,該生選修了但主講教師不是‘King’)
Select S.StudentID, S.FName,S.Mintial, S.LName
From Student S
Where not exist (select* from Section ST, Grade G where ST.Instructor != ’KING’ and ST. SectionNo = G.SectionNo and ST.CourseNo=G.CourseNoand G.StudentID=S.StudentID)
4.查詢所有院系名稱以及該院系所有學生的學號(將學生按學號降序排列)
Select D.DepartmentName,DT.StudentID
From Department D, DegreeTypeDT
Where D.DepartmentID= DT.DepartmentID
Order by StudentIDdesc
5.查詢講授計算機科學課程的老師的姓名、所教課程單元的信息(包括課程號、單元、開設學期及年份),以及選修該課程單元的學生總數
Select ST. Instructor,ST. CourseNo, ST. SectionNo, ST. Semester, ST. YearTaker, GS. StuNum
From Section ST, CourseC, Department D
(Select SectionNo,CourseNo, count(StudentID) StuNum from Grade group by SectionNo, CourseNo) GS
Where D.DepartmentName=’ComputerScience’ and D. DepartmentID=C. DepartmentID and C. CourseNo = ST. CourseNo andST. CourseNo=GS. CourseNo and ST. SectionNo=GS. SectionNo
6.查詢在所修課程中未得過‘A’的學生的學號、姓名以及主修專業
Select S.StudentID, S.FName,S.Mintial, S.LName , DT. DepartmentID
From Student S, DegreeTypeDT, Department D
Where S.StudentID=DT.StudentIDand DT.DegreeType=’major’ and DT.DepartmentID = D. DepartmentID and not exist
(select * from GradeG where G.StudentID=S.StudentID and G.LetterGrade=’A’)
7.查詢在所修課程中全部過‘A’的學生的學好、姓名以及主修專業
Select S.StudentID, S.FName,S.Mintial, S.LName , DT. DepartmentID
From Student S, DegreeTypeDT, Department D
Where S.StudentID=DT.StudentIDand DT.DegreeType=’major’ and DT.DepartmentID = D. DepartmentID and not exist
(select * from GradeG where G.StudentID=S.StudentID and G.LetterGrade !=’A’) and exist
(select * from GradeG where G.StudentID=S.StudentID)
8.查詢計算機科學學院所有學生的學號、姓名以及GPA
Select S.StudentID, S.FName,S.Mintial, S.LName , GS.GPA
From Department D, DegreeTypeDT, Student S,
(select StudentID, AVG(GradeNo)GPA from Grade group by StudentID) GS
Where D.DepartmentName=’ComputeScience’ and D. DepartmentID=DT. DepartmentID and DT. StudentID and S. StudentIDand S. StudentID=GS. StudentID
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279731.html