一、数据库之SQL语句

一、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语句常用的用法,经常不使用会忘记,所以写下来。感恩!!

    原文作者:Dosun
    原文地址: https://www.jianshu.com/p/e0ffc072942d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞