本文目录一览:
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