zoukankan      html  css  js  c++  java
  • mysql DML语句学习1

    DML 操作是指对数据库中表记录的操作,主要包括表记录插入(insert)、更新(update)、删除(delete)和查询(select)

    1. 插入记录

    表创建好后,就可以往里插入记录,基本语句如下:

    INSERT INTO tablename (field1,field2,.....fieldn) VALUES (value1,value2....valuen);

    例如,向emp 表中插入以下记录:

    ename 为abc1,hiredate 为 2017-10-09,sal 为2000,deprno 为1

    也可以不用指定字段名称,但是values后面的顺序应该和字段的排列顺序一致:

    含可空字段、非空但是含有默认值的字段、自增字段,可以不用在insert 后的字段列表里面出现,value后面只写对应字段名称的value,

    这些没写得字段可以自动设置为NULL、默认值、自增值

    例如,只对表中的ename 和sal字段显示插入:

    insert 语句可以一次性插入多条记录

    例如:

    2. 更新记录

    表中记录值可以通过uodate 命令进行更改,语法如下

    UPDATE tablename SET field1=value1,field2=value2,....fieldn=valuen [WHERE CONDITION]

    例如,将表中abc1 的薪水从2000 改为3000

    3.删除记录

    语法如下:

    DELETE FROM tablename [WHERE CONDITION]

    例如,在emp 中将dony 的记录全部删除,命令如下:

    4.查询记录

    语句如下:

    SELECT * FROM tablename [WHERE CONDITION]

    查询所有的记录值

    select * from emp;

    (1)查询不重复记录。

    select distinct deptno from emp;

    (2)条件查询

    select * from emp where deptno=1;

    多个字段查询

    select * from emp where deptno=1 and sal<3000;

    (3)排序和限制

    select * from emp order by sal;

    对于sal 相同的前两条记录,如果按照从高到低排序,可以使用以下命令:

    select * from emp order by sal desc;

    对于后续记录,希望只显示一部分,可以用LIMIT 关键字

    select * from emp order by sal limit 3;

    如果 显示emp 表中 按照sal 排序后从第二条记录开始,显示3条记录:

    select * from emp order by sal limit 1,3;

    (4)聚合

    例如要统计emp表中公司人数

    在此基础上,统计各个部门人数:

    更细一点,既要统计部门人数,又要统计总人数:

    统计人数大于1的部门

    select deptno,count(1) from emp group by deptno having count(1)>1;

    统计公司所有员工的薪水总额、最高最低薪水:

    (5)表连接

    显示多个表中字段

    (6)子查询

  • 相关阅读:
    根据类生成数据库连接
    C# 获取动态类中所有的字段
    mysql 基础配置经验
    CSS小笔记
    jquery知识location.search
    Eclipse 启动tomcat 访问主页报错404
    window下安裝redis服務
    用maven创建web工程
    @WebListener 注解方式实现监听
    Dubbo-admin管理平台的安装
  • 原文地址:https://www.cnblogs.com/Tempted/p/7641949.html
Copyright © 2011-2022 走看看