MySQL的DML和DQL   增删改查
2018-06-23 13:28:55来源:未知 阅读 ()
DML和DQL 增删改查
SELECT * FROM grade
--新增 insert
-- 向年级表中新增3条数据 INSERT INTO grade(gradeID,gradeName) VALUES(4,'4年级'); INSERT INTO grade(gradeID,gradeName) VALUES(5,'5年级'); INSERT INTO grade(gradeID,gradeName) VALUES(6,'6年级'); -1.备份表:create table 新表(不存在) select * from 原表 -2.追加数据: (一次性向表中走N条记录) insert into 被追加数据的表名(列) select 列 from 原表 -- 删除 delect DELETE FROM grade WHERE gradeID>3; DELETE FROM grade WHERE gradeID=4 OR gradeID=5 OR gradeID=6; DELETE FROM grade WHERE gradeID IN (4,5,6); -- 同时插入多条数据 (oracle数据库不支持) INSERT INTO grade(gradeID,gradeName) VALUES(4,'4年级'),(5,'5年级'),(6,'6年级');
--修改 update
-- 修改gradeID=1的年级名称为 one UPDATE grade SET gradeName='one' WHERE gradeID=1
-- delete 删除表中所有的数据
DELETE FROM grade;
delete 和 truncate的区别
01.delete
begin (开启事务)
select * from grade;(查询年级表中所有的数据)
delete from grade; (删除年级表中所有的数据)
select * from grade;(查询年级表中所有的数据,没有数据)
rollback; (事务回滚)
select * from grade;(查询年级表中所有的数据,删除的数据恢复)
commit (提交事务)
02.truncate
begin (开启事务)
select * from grade;(查询年级表中所有的数据)
truncate table grade; (删除年级表中所有的数据)
select * from grade;(查询年级表中所有的数据,没有数据)
rollback; (事务回滚)
select * from grade;(查询年级表中所有的数据,没有数据)
commit (提交事务)
区别:
01.delete后面可以拼接where条件,删除指定的行!
truncate只能删除表中所有的数据!不能有where!
02.delete可以回滚,数据库可以恢复!(记录日志)
truncate 不能事务混滚,数据不可以恢复!(不记录日志)
03.truncate执行效率高!
delete执行效率低!
04.delete删除后自增列编号会接着上次最大值
Truncate截断表:自增列编号从1开始
查询
将查询结果保存到 新表中!
create table newStudent
(select stuName,address from student)
view (视图) :不占物理空间!
使用 具体的列 代替 *
select * from student;
select stuName,age ,address from student;
使用别名
SELECT gradeID AS 年级编号,gradeName '年级 名称' FROM grade;
格式
01. 列名 AS 别名
02. 列名 别名
03. 如果别名中有特殊符号,必须把 别名用 单引号 引起来!
查询年级表中 id不等于1的数据 <> !=
SELECT gradeID,gradeName
FROM grade
WHERE gradeid <> 1
+ 必须是相同的数据类型,能转换成2进制的数据!
如果有一个列是null 整体返回null!
我们通常使用 concat来做合并
SELECT CONCAT(loginPwd,',',studentNAME) AS 合并列 FROM STUDENT
使用is null 的时候 要确保 查询的列 可以为空!
null:
01.标识 空值
02.不是0,也不是空串""
03.只能出现在定义 允许为null的字段
04.只能使用is null 或者is not null 进行比较!
SELECT * FROM student WHERE loginPwd IS NULL -- 查询成绩表的总成绩 SELECT SUM(studentResult) FROM result; -- 查询成绩的平均值 SELECT AVG(studentResult) FROM result; -- 查询成绩的最高分 SELECT MAX(studentResult) FROM result; -- 查询成绩的最低分 SELECT MIN(studentResult) FROM result; -- 查询有成绩的总数 SELECT COUNT(studentResult) FROM result;
#修改表名 ALTER TABLE 旧表名RENAME [TO] 新表名; #添加字段 ALTER TABLE 表名ADD 字段名数据类型[属性]; #修改字段 ALTER TABLE 表名CHANGE 原字段名新字段名数据类型[属性]; #删除字段 ALTER TABLE 表名DROP 字段名;
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:MySQL--如何快速对比数据
下一篇:MySQL 存储过程的简单使用
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash