18、MYSQL数据的基本操作

本文详细介绍了数据库操作中的DML(操作语句)、DDL(定义语句)及DQL(查询语句)。涵盖了添加、删除、修改数据的方法,以及如何创建、更新和删除数据库对象。此外,还介绍了SQL查询技巧,包括条件筛选、排序、聚合函数和多表连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值