zoukankan      html  css  js  c++  java
  • Mysql 查询

    1、建表(CREATE TABLE)

    CREATE TABLE emp 
    ( id int NOT NULL PRIMARY KEY, //添加主键
      name varchar(20),
      gender varchar(2),
      performance int,
      salary double
    )
    

    如果创建表后,忘记添加主键或者外键,可以使用ALERT添加。

    ALERT TABLE emp ADD PRIMARY KEY(id); //添加主键
    ALERT TABLE orders ADD FOREIGN KEY (e_id) REFERENCE emp(id); //添加外键
    

    2、INSERT(插入)

    向表中加入数据。

    //向emp 表中插入一条数据,插入字符串时使用''
    INSERT INTO emp VALUES(1, 'yijie', 'male', 85, 18000.0);
    

    向表中插入数据的标准格式是:

    insert into tableName(column1, column2...) values('value1', 'value2'...)
    

    3、UPDATE(更新)

    更新表中的数据。

    update emp set salary=20000 where name='yijie';
    

    4、DELETE (删除)

    delete from emp where id=8;//删除表中的某条数据,where后面的为条件
    delete * from emp;//删除表中的所有数据,清空表
    drop table 表名称; //删除某张表
    

    注意:在使用delete删除表中数据时,如果该表与其他表有关联关系,如:外键,得先删除关联表中的外键。

    5、DISTINCT(去重)

    一张表经过一段时间的操作,避免不了会出现数据重复的情况。重复的数据不仅没有意义,而且占用存储空间。这个时候distinct就悄然登场了。distinct用于根据条件去除表中的重复内容。

    //查询emp中的name,返回唯一的名字
    select distinct name from emp;
    

    6、Select (查询)

    查询是数据库操作中最常用的操作,也是最难的。select语句用于从表中查询数据,结果被存储在一个结果表中(称为结果集)。

    SELECT 语法:
    SELECT 列名称 FROM 表名称; //查询表中的某列数据
    SELECT * FROM 表名称; //查询整张表
    还有更为复杂的条件查询。

    三、基础函数

    数据库还为我们提供了一些函数,方便我们进行数据库操作。这些基础函数基本都是列名为函数参数,返回某一列的计算结果。

    1.AVG()平均值

    avg()用于返回某列的平均值,NULL不包含在计算中。

    select AVG(salary) as avg_salary form emp; //查询员工的平均薪水
    

    2.COUNT()

    COUNT函数用于返回匹配指定条件的行数。

    select COUNT(*) from emp; //返回表的记录数
    

    3.MAX()

    MAX函数返回指定列的最大值,NULL字不包括在计算中。

    4.MIN()

    MIN函数返回指定列的最小值,NULL字不包括在计算中。

    5.SUM()

    SUM函数返回指定列的总数。

    6.ROUND()

    ROUND函数用于把数值字段舍入为指定的小数位数。

    select ROUND(salary,1) as n_salary from emp; //将salary保留一位小数
    

    select ROUND(column_name,decimals) from table_name;

    参数描述
    column_name 要舍入的字段
    decimals 规定要返回的小数位数

    7.FORMAT()

    FORMAT用于对指定字段的显示进行格式化
    SELECT FROMAT(column_name,format) FROM table_name;

    参数描述
    column_name 要格式化的字段
    format 指定的格式

    四、高级用法

    还有一些SQL的高级用法,分页模糊匹配排序等等。

    1.分页(LIMIT)

    分页查询就是返回返回当前页码对应的页面的数据。
    分页查询的基本公式:(page - 1) * pageSize + 当前页要显示的数据条数

    select * from emp limit 4; //返回前4条数据
    

    2.模糊匹配(LIKE)

    模糊匹配是配合where条件使用的。

    //%可以理解为定义通配符
    select * from emp where name like 'a%';  //返回以a开头的所有姓名
    

    3.IN

    返回特定列在某个集合中的所有数据。

    select * from emp where name in ('AA', 'BB'); //返回name为AA、BB的所有数据。
    

    4.JOIN

    联表运算符JOIN,用于将两个或者两个以上的表进行关联,并从这些表中查询数据。
    常用的几种连接方式:

    • INNER JOIN: 内连接。
    • LETF JOIN:就算右表中没有匹配,也从左表中返回所有的行。
    • RIGHT JOIN:就算左表中没有匹配,也从右表中返回所有的行。
    • FULL JOIN:只要有一个表存在就返回。

    5.UNION

    UNION运算符用于合并两个或多个SELECT语句的结果集。

    UNION内部的SELECT语句必须具有相同数量的列,列也必须具有相似的数据类型。同时,每条SELECT语句中列的顺序必须相同。

    6.AUTO_INCREMENT(自增)

    一般用于修饰主键,使其保持自增。

    7.ORDER BY (排序)

    使用order by对查询结果进行排序,默认是升序

    • ASC:升序(从小到大)
    • DESC:降序(从大到小)
    select * from emp order by name;
    

    8.GROUP BY

    通常匹配合计函数使用,根据一个或者多个列队结果集进行分组。

    9.HAVING

    用于给分组设置条件。

    10.DEFAULT

    default约束用于向列中插入默认值。




  • 相关阅读:
    MetaWeblog API
    序列化Hashtable
    贴几个CodeDOM的链接
    Summing it all up: 35 blog entries in 2 days from the BCL Team [Kit George] --from BCLTeam's Weblog
    上海在下尘土
    PSP升级速度令然惊喜!(update:2007.10.13)
    Linkin Park林肯公园上海演唱会(2007年11月18日)
    STARCRAFT2 / 星际争霸2
    Enterprise Library 3.0 April 2007
    《The Devil Wears Prada / 穿布拉达的女王》很有意思.
  • 原文地址:https://www.cnblogs.com/Pythons/p/10755605.html
Copyright © 2011-2022 走看看