MySQL的DML和DQL 增删改查
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 字段名;
MySQL的DML和DQL 增删改查的更多相关文章
- MySQL数据库之表的增删改查
目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...
- MYSQL - database 以及 table 的增删改查
MYSQL - database 以及 table 的增删改查 MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database Management System), 这 ...
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...
- MySQL 之基础操作及增删改查等
一:MySQL基础操作 使用方法: 方式一: 通过图型界面工具,如 Navicat,DBeaver等 方式二: 通过在命令行敲命令来操作 SQL ( Structure query language ...
- MYSQL的常用命令和增删改查语句和数据类型
连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...
- MYSQL的常用命令和增删改查语句和数据类型【转】
连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...
- nodejs+express+mysql实现restful风格的增删改查示例
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
- node+mysql,实现基本的增删改查,附带跟踪记录和运行时间记录
Node + mysql 实现基础的增删改查,以及性能测试. 网上有很多这样的例子,我也是找来学习的. 感觉node对mysql的操作非常简单,也很实用,比如自带防止sql注入的功能,一开始还担心注入 ...
- Mysql数据库和表的增删改查以及数据备份&恢复
数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...
随机推荐
- Leetcode 126.单词接龙II
单词接龙II 给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列.转换需遵循如下规则: 每次转换只能 ...
- HDU 1042 大数计算
这道题一开始就采用将一万个解的表打好的话,虽然时间效率比较高,但是内存占用太大,就MLE 这里写好大数后,每次输入一个n,然后再老老实实一个个求阶层就好 java代码: /** * @(#)Main. ...
- spring-cloud-starter-ribbon提供客户端的软件负载均衡算法
Ribbon是什么? Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起.Ribbon客户端组件提供一系列完善的配置项如连接超时 ...
- CI session 类的用法
最近使用codeingiter框架,发现默认的session 不是很好用,以下是用法总结:使用的是2.0.2的版本 1.扩展自带的session类:application/libraries/MY_s ...
- what happens if we dont resolve or reject the promise
https://stackoverflow.com/questions/36734900/what-happens-if-we-dont-resolve-or-reject-the-promise I ...
- 1.7-BGP①
IGP: 包括RIP/EIGRP/OSPF/ISIS/ODR等动态路由协议 运行在同一个AS中, 通过Cost/Metirc来判断路由的优劣(越小越好): AS:自治系统(小) A ...
- 关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、文件夹结构、设置压缩和对中文文件名称的支持、以及Catalina这个名字的由来……等)
总结Tomcat的体系架构.处理http请求的过程.安装和配置.文件夹结构.设置压缩和对中文文件名称的支持.以及Catalina这个名字的由来--等. Tomcat和JVM: 一个Tomcat仅仅会启 ...
- jquery动态创建form表单
function exportExcel() { var merchantName = $('#merchantName').val(); var merchantNo = $('#merchantN ...
- LeetCode 141. Linked List Cycle (链表循环)
Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...
- 李洪强经典面试题30-iOS应用性能调优的25个建议和技巧
iOS应用性能调优的25个建议和技巧 本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员.这是他的个人网站:http://www.mar ...