美文网首页
一、数据库之SQL语句

一、数据库之SQL语句

作者: Dosun | 来源:发表于2017-03-23 14:56 被阅读65次

    一、SQL创表

    /**
        CREATE TABLE     -- 创表
        IF NOT EXISTS    -- 判断数据表是否存在,如果存在,不再执行创表 SQL,此处是细节
        'T_Person'        -- 表名,数据库中的表通常用T_开头
        (
            字段1 INTEGER(整数) / REAL(小数) / TEXT(字符串) / BLOB(二进制数据-通常不会保存在数据库中)
                NOT NULL        不允许为空,主键必须有内容
                PRIMARY KEY        主键
                AUTOINCREMENT    自动增长
            ,    区分各个字段,最后一个字段不需要 ','
            字段2 类型,
            ...
        )
        使用细节:
        1. 可以从 navicat 复制粘贴
        2. 建议使用单引号,避免在程序中转义
        3. `IF NOT EXISTS` 需要单独增加,为了保证 SQL 语句可以不断的被重复执行!
        4. 每条 SQL 语句的末尾,建议添加一个 ';' 表示一个完整的 SQL 结束,区别程序员的年限。
    */
    CREATE TABLE IF NOT EXISTS 'T_Person' (
         "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
         "name" TEXT,
         "age" INTEGER,
         "height" REAL
    );
    

    二、SQL-插入

    /**
        INSERT INTO '表名'
            (字段1, 字段2...)
        VALUES
            (值1, 值2);
    
        注意:
        字段和值的顺序必须保持一致
    
        提示:
        SQLite本质上不区分数据类型,怎么存都行
    */
    
    INSERT INTO T_Person 
        (name, age, height)
    VALUES
        ('张三', 18, 1.5);
    
    

    三、SQL-修改

    /**
        UPDATE '表名'
        SET
            字段1 = '字符串值1',
            字段2 = 值2,
            ...
        WHERE(条件)
            主键 = id;
    
        提示:
        * 一定要写条件,否则会修改所有的记录
        * 如果指定的条件不存在,SQL 会执行,但是影响行数为 0
    */
    
    UPDATE T_Person 
    SET 
        name = '老王', 
        age = 80, 
        height = 1.2 
    WHERE id = 10000;
    

    四、SQL-删除

    /**
        DELETE FROM '表名'
        WHERE 主键 = id;
    
        注意:
    
        * 一定要写条件,否则会删除所有数据
        * 如果指定的条件不存在,SQL 会执行,但是影响行数为 0
    */
    DELETE FROM T_Person
    WHERE id = 3000;
    

    五、SQL-查询

    -- 查询所有记录,但是:开发中不建议写 *,通配符,直接阅读代码无法知道查询返回的内容
    -- 可以用在测试中,程序代码中,强烈不推荐!
    SELECT * FROM T_Person;
    
    -- 开发中建议使用的,便于阅读
    SELECT id, name, height, age FROM T_Person;
    
    -- 统计查询
    SELECT count(*) FROM T_Person;
    
    -- 指定条件统计查询
    SELECT count(*) FROM T_Person WHERE height > 1.5;
    
    -- 查询年龄最大的人
    -- 应用场景:查询经验最高的值,最近加入的人...
    SELECT max(age) FROM T_Person;
    
    -- 分页功能
    -- LIMIT 和条件指令 WHERE 组合使用,可以很方便的作出分页功能
    SELECT id, name, height, age FROM T_Person
    WHERE id >= 2
    LIMIT 2;
    
    -- 排序功能,默认是升序 ASC / 降序 DESC
    -- 排序是按照指定的条件,由左至右依次排列
    SELECT id, name, height, age FROM T_Person
    ORDER BY name DESC, age ASC;
    
    -- 模糊查询
    -- % 可以匹配任何内容 
    -- %内容% 表示只要出现内容,都会被搜索出来
    -- 逻辑判断 AND OR NOT
    SELECT id, name, height, age FROM T_Person
    WHERE (name LIKE '%a%' AND age > 20) OR name = 'li';
    

    以上是SQL语句常用的用法,经常不使用会忘记,所以写下来。感恩!!

    相关文章

      网友评论

          本文标题:一、数据库之SQL语句

          本文链接:https://www.haomeiwen.com/subject/sdnznttx.html