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)子查询

  • 相关阅读:
    解决后退网页已过期或刷新询问是否重新提交表单的问题
    一行代码获取中文星期
    单例模式弹出窗体实现
    JAVA实现冒泡排序
    关于BufferedWriter.write超过30W条数据写入过慢问题。
    Ibatis的简单介绍
    链接注入(便于跨站请求伪造)(AppScan扫描结果)
    会话标识未更新(AppScan扫描结果)
    跨站点脚本编制实例(AppScan扫描结果)
    深入Java核心 Java内存分配原理精讲
  • 原文地址:https://www.cnblogs.com/Tempted/p/7641949.html
Copyright © 2011-2022 走看看