简介
DML 是(操作语句)对数据库的增删改操作,即添加表中的数据,删除表中的数据,修改表中的数据。
主要关键字,insert(添加),delete(删除),update(修改)
添加语句 INSERT INTO
例:INSERT INTO student(StudentNo,StudentName,Phone,Address,Email) VALUES(‘2001’,‘无名’,‘1340000’,‘上海’,‘wuming@126.com’)
数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。
常见的DDL语句:
CREATE DATABASE
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE VIEW
ALTER VIEW
DROP VIEW
TRUNCATE TABLE…………
DQL查询语句
SELECT 查询关键字:
例:查询成绩在80-90分的两种语句
1、SELECT StudentResult(字段名) FROM result
(表) WHERE StudentResult>=80 and StudentResult<=90
2、SELECT StudentResult FROM result
WHERE StudentResult BETWEEN 80 and 90
SELECT * FROM student 查询表中的所有数据列结果,采用“*”符号
as 子句的作用;可给数据列取一个新别名,可给表取一个新别名
SELECT StudentNo AS “学号” FROM student; AS子句的用法,给表student中的studengNO 取别名 为学号
SELECT a.StudentNo FROM student AS a; 给表取别名
DISTINCT关键字
例:SELECT DISTINCT StudentNo FROM result
,去重查询
LIKE 模糊查询
例:SELECT * FROM subject WHERE SubjectName LIKE ‘%数学%’
SELECT * FROM student WHERE StudentName LIKE ‘李__’
IN 范围查找
例:SELECT * FROM subject WHERE ClassHour=100 OR ClassHour=110
例:SELECT * FROM subject WHERE ClassHour IN(100,110,120);
连接查询 :如需要多张数据表的数据进行查询,则可通过连接运算符实现多个查询
分类包括
內连接(inner jion): 等值和非等值的连接查询,自身连接查询
外连接(out jion):左连接(LEFT JOIN),右连接(RIGHT JOIN)
inner jion (內连接)
例:SELECT *FROM grade AS a INNER JOIN subject AS s WHERE a.GradeId=s.GradeId
自连查询:
例:SELECT c1.catgoryName AS “父栏目名称”,c2.catgoryName AS “子栏目名称” FROM category AS c1, category AS c2,WHERE c1.catgoryID=c2.pid
左连接
例:左表信息全输出,另外的表与左表相同的部分输出
SELECT *FROM grade AS a LEFT JOIN subject AS s on a.GradeId=s.GradeId
右连接
例:右表信息全输出,另外的表与右表相同的部分输出
SELECT *FROM grade AS a RIGHT JOIN subject AS s on a.GradeId=s.GradeId
升序 ASC 降序 DESC 与ORDER BY配合使用
例1:SELECT StudentResult FROM result ORDER BY StudentResult ASC;//对学生成绩按升序排序
例2:SELECT student.StudentNo,StudentName,StudentResult FROM student,result ORDER BY student.StudentNo,StudentResult ASC; 多个条件排序,升序 //按照学生学号,学生成绩进行升序排序
多表查询:运用AS子句,排序,分页查询
例:SELECT a.StudentNo AS 学号,StudentName AS 学生姓名,SubjectName AS Java第一学年,StudentResult AS 成绩 FROM student AS a INNER JOIN result AS s ON a.StudentNo=s.StudentNo INNER JOIN subject AS j ON s.SubjectNo=j.SubjectNo WHERE J.SubjectName='java第一学年’AND StudentResult>=80 ORDER BY StudentResult DESC,s.StudentNo DESC LIMIT 0,10
常用聚合函数:
1、AVG() 返回某字段的平均值
例: 计算表result 中学员的平均成绩
SELECT AVG(StudentResult) FROM result
2、 SUM() 返回某字段的总和
例: 计算表result 中学员的总成绩
SELECT SUM(StudentResult) FROM result
3、MAX() 返回某字段的最大值
MIN()返回某字段的最小值
COUNT()返回某字段的行数
常用字符串函数:
COUNT(str1,str2,strn) 作用连接字符串str1、str2、strn为一个完整的字符串
例: SELECT CONCAT(‘My‘,’ S’,‘QL’)
返回:MySQL
INSERT(str,pos,len,newstr) 将字符串str从pos位置开始,len个字符长的子串替换为字符串newstr
例:SELECT INSERTT(‘这是MySQL数据库’,3,10,‘MySQL’)
‘这是MySQL数据库’ 替换成了,‘这是MySQL’
LOWER(str) 将字符串str中所有的字符变为小写
UPPER(str)将字符串str中所有的字符变为大写
SUBSTRING(str,num,len)返回字符串str的第num个位置开始长度为len的子字符串
例:SELECT SUBSTRING(‘JavaMyAQLOracle’,5,5);
返回:MySQL