zoukankan      html  css  js  c++  java
  • mysql 三

    创建数据表

    create table if not exists 'runoob_tbl'(
     'runoob_id' INT UNSIGNED AUTO_INCREMENT,
    'runoob_title' VARCHAR(100) NOT NULL,
    'runoob_author' VARCHAR(40) NOT NULL,
    'submission_date' DATE,
    PRIMARY KEY('runoob_id')
    )EGINE=InnoDB DEFAULT CHARSET=utf8;

    删除数据表

    drop table table_name;

    插入数据

    INSERT INTO table_name (field1,field2,field3) VALUES (value1,value2,value3);

    对于自动增加属性AUTO_INCREMENT的列不进行设置

    对于时间列,提供NOW()函数进行赋值

    插入多条语句,在values后用,分隔,每条语句用()包围

    如果要添加所有的列,可以不输入列名

    查询数据

    select column_name,column-name from table_name [where Clasuse] [limit N] [offset M]

    可以用星号*来代替所有字段

    用where设置条件

    用limit属性来设定返回的记录数

    用offset指定开始查询的数据便宜了,默认为0

    where子句

    select field1,field2,field3 from table_name1,table_name2 where condition1 [and [or]] condition2

    使用AND或者OR指定一个或多个条件

    更新数据表

    update table_name set field1=new-value1,field2=new-value2 where Clause

    删除表中记录

    delete from table_name where Clause

    模糊匹配

    where field like condition

    like会与%和_结合使用

    '%a'  //以a结尾的数据
    'a%'  //以a开头的数据
    '%a%'  //含有a的数据
    '_a_'  //三位且中间字母是a的
    '_a'  //两位且结尾字母是a的
    'a_'  //两位且开头字母是a的

    在 where like 的条件查询中,SQL 提供了四种匹配方式。

    1. %:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
    2. _:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。
    3. []:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
    4. [^] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
    5. 查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符 “%”、“_”、“[” 的语句无法正常实现,而把特殊字符用 “[ ]” 括起便可正常查询。

    联合查询

    用于连接两个以上的select语句的结果组合到一个结果集合中。多个select语句会删除重复的数据

    SELECT expression1, expression2, ... expression_n
    FROM tables
    [WHERE conditions]
    UNION [ALL | DISTINCT]
    SELECT expression1, expression2, ... expression_n
    FROM tables
    [WHERE conditions];
    • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

    • ALL: 可选,返回所有结果集,包含重复数据

    排序

    SELECT field1, field2,...fieldN FROM table_name1, table_name2...
    ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
    • 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
    • 你可以设定多个字段来排序。
    • 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
    • 你可以添加 WHERE...LIKE 子句来设置条件。

    拼音排序

    如果字符集采用的是 gbk(汉字编码字符集),直接在查询语句后边添加 ORDER BY:

    SELECT * 
    FROM runoob_tbl
    ORDER BY runoob_title;

    如果字符集采用的是 utf8(万国码),需要先对字段进行转码然后排序

    SELECT * 
    FROM runoob_tbl
    ORDER BY CONVERT(runoob_title using gbk);

    分组

    GROUP BY 语句根据一个或多个列对结果集进行分组。

    在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

    SELECT column_name, function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name;
  • 相关阅读:
    给View设置多个Tag
    Android studio 编译报错 Error:Error converting bytecode to dex:
    ViewPager设置自适应
    华为手机播放视频时seekBar拖不动
    Android studio 导入Eclipse项目 Vitamio播放器报错
    多线程Bug
    时间选择器,不同系统版本差异的解决办法
    Django测试pytest
    Nginx
    docker
  • 原文地址:https://www.cnblogs.com/blunFan/p/11623795.html
Copyright © 2011-2022 走看看