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 增删改查的更多相关文章

  1. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  2. MYSQL - database 以及 table 的增删改查

    MYSQL - database 以及 table 的增删改查 MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database Management System), 这 ...

  3. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  4. MySQL 之基础操作及增删改查等

    一:MySQL基础操作 使用方法: 方式一: 通过图型界面工具,如 Navicat,DBeaver等 方式二: 通过在命令行敲命令来操作 SQL ( Structure query language ...

  5. MYSQL的常用命令和增删改查语句和数据类型

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  6. MYSQL的常用命令和增删改查语句和数据类型【转】

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  7. nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

  8. node+mysql,实现基本的增删改查,附带跟踪记录和运行时间记录

    Node + mysql 实现基础的增删改查,以及性能测试. 网上有很多这样的例子,我也是找来学习的. 感觉node对mysql的操作非常简单,也很实用,比如自带防止sql注入的功能,一开始还担心注入 ...

  9. Mysql数据库和表的增删改查以及数据备份&恢复

    数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...

随机推荐

  1. JS权威指南笔记1

    1.JavaScript数据类型可分为两种:原始类型和对象类型.原始类型下又包括数字.字符串和布尔值,以及null和undefined这两个特殊的:对象是属性的集合,且每个属性都有自己的"名 ...

  2. maven profile多环境自动切换配置,配置分离,排除文件

    痛点: 在java开发的过程中,我们经常要面对各种各样的环境,比如开发环境,测试环境,正式环境,而这些环境对项目的需求也不相同. 在此之前,我们往往需要手动去修改相对应的配置文件然后打成war,才能部 ...

  3. lua 栈最后调用的函数,用于看调试信息

    lua_getinfo int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar); 返回一个指定的函数或函数调用的信息. 当用于取 ...

  4. HDU 4451 容斥原理

    题目大意: n件衣服,m条裤子,k双鞋子进行搭配 妈妈指明了哪些衣服和裤子不能搭配,哪些裤子和鞋子不能搭配,问最后有几种搭配方法 先假设都能搭配 n*m*k 每次遇到衣服和裤子不能搭的,就要减一次k, ...

  5. Tomcat启动时SecureRandom超级慢的问题

    https://my.oschina.net/wangnian/blog/687914

  6. 洛谷——P1720 月落乌啼算钱

    题目背景 (本道题目木有以藏歌曲……不用猜了……) <爱与愁的故事第一弹·heartache>最终章. 吃完pizza,月落乌啼知道超出自己的预算了.为了不在爱与愁大神面前献丑,只好还是硬 ...

  7. Install nginx-clojure on CentOS 7

    Install nginx-clojure on CentOS 7 1. install open-jdk-7 sudo yum install java-1.7.0-openjdk-devel 2. ...

  8. 使用jconsole监控远程JVM

    使用jconsole监控远程JVM 学习了:https://www.linuxidc.com/Linux/2015-02/113420.htm https://www.cnblogs.com/thin ...

  9. 相当精简的CentOS个人桌面版--从CentOS6.3 32b-mini版開始(mini版过程略)

    利用网络实现相当精简的CentOS个人桌面版--从CentOS6.3 32位mini版開始(mini版过程略).升级后即是CENTOS6.5. 特别感谢163网易的镜像空间[http://mirror ...

  10. 解决安装OpenShift Client Tools时提示的dl/import (LoadError)问题

    安装成功Ruby和git以后.执行rhc setup时提演示样例如以下错误: C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require ...