• [转载][QT][SQL]sql学习记录3_sqlite之update delete like


    转载自:详见 : http://www.runoob.com/sqlite/sqlite-create-table.html

    约束表实例

    下面是一个实例,它创建了一个 COMPANY 表,ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL:

    sqlite> CREATE TABLE COMPANY(
       ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        CHAR(50),
       SALARY         REAL
    );

    使用一个表来填充另一个表

    您可以通过在一个有一组字段的表上使用 select 语句,填充数据到另一个表中。下面是语法:

    INSERT INTO first_table_name [(column1, column2, ... columnN)] 
       SELECT column1, column2, ...columnN 
       FROM second_table_name
       [WHERE condition];

    您暂时可以先跳过上面的语句,可以先学习后面章节中介绍的 SELECT 和 WHERE 子句。

    sqlite 运算符

    定义/例子详见 : http://www.runoob.com/sqlite/sqlite-operators.html

    • 算术运算符

    • 比较运算符

    • 逻辑运算符

    • 位运算符

    SQLite Update 语句

    实例

    假设 COMPANY 表有以下记录:

    ID          NAME        AGE         ADDRESS     SALARY
    ----------  ----------  ----------  ----------  ----------
    1           Paul        32          California  20000.0
    2           Allen       25          Texas       15000.0
    3           Teddy       23          Norway      20000.0
    4           Mark        25          Rich-Mond   65000.0
    5           David       27          Texas       85000.0
    6           Kim         22          South-Hall  45000.0
    7           James       24          Houston     10000.0

    下面是一个实例,它会更新 ID 为 6 的客户地址:

    sqlite> UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;

    现在,COMPANY 表有以下记录:

    ID          NAME        AGE         ADDRESS     SALARY
    ----------  ----------  ----------  ----------  ----------
    1           Paul        32          California  20000.0
    2           Allen       25          Texas       15000.0
    3           Teddy       23          Norway      20000.0
    4           Mark        25          Rich-Mond   65000.0
    5           David       27          Texas       85000.0
    6           Kim         22          Texas       45000.0
    7           James       24          Houston     10000.0

    如果您想修改 COMPANY 表中 ADDRESS 和 SALARY 列的所有值,则不需要使用 WHERE 子句,UPDATE 查询如下:

    sqlite> UPDATE COMPANY SET ADDRESS = 'Texas', SALARY = 20000.00;

    现在,COMPANY 表有以下记录:

    ID          NAME        AGE         ADDRESS     SALARY
    ----------  ----------  ----------  ----------  ----------
    1           Paul        32          Texas       20000.0
    2           Allen       25          Texas       20000.0
    3           Teddy       23          Texas       20000.0
    4           Mark        25          Texas       20000.0
    5           David       27          Texas       20000.0
    6           Kim         22          Texas       20000.0
    7           James       24          Texas       20000.0

    SQLite Delete 语句

    实例

    假设 COMPANY 表有以下记录:

    ID          NAME        AGE         ADDRESS     SALARY
    ----------  ----------  ----------  ----------  ----------
    1           Paul        32          California  20000.0
    2           Allen       25          Texas       15000.0
    3           Teddy       23          Norway      20000.0
    4           Mark        25          Rich-Mond   65000.0
    5           David       27          Texas       85000.0
    6           Kim         22          South-Hall  45000.0
    7           James       24          Houston     10000.0

    下面是一个实例,它会删除 ID 为 7 的客户:

    sqlite> DELETE FROM COMPANY WHERE ID = 7;

    现在,COMPANY 表有以下记录:

    ID          NAME        AGE         ADDRESS     SALARY
    ----------  ----------  ----------  ----------  ----------
    1           Paul        32          California  20000.0
    2           Allen       25          Texas       15000.0
    3           Teddy       23          Norway      20000.0
    4           Mark        25          Rich-Mond   65000.0
    5           David       27          Texas       85000.0
    6           Kim         22          South-Hall  45000.0

    如果您想要从 COMPANY 表中删除所有记录,则不需要使用 WHERE 子句,DELETE 查询如下:

    sqlite> DELETE FROM COMPANY;

    现在,COMPANY 表中没有任何的记录,因为所有的记录已经通过 DELETE 语句删除。

    SQLite Like 子句

    实例

    下面一些实例演示了 带有 '%' 和 '_' 运算符的 LIKE 子句不同的地方:

    语句描述
    WHERE SALARY LIKE '200%' 查找以 200 开头的任意值
    WHERE SALARY LIKE '%200%' 查找任意位置包含 200 的任意值
    WHERE SALARY LIKE '_00%' 查找第二位和第三位为 00 的任意值
    WHERE SALARY LIKE '2_%_%' 查找以 2 开头,且长度至少为 3 个字符的任意值
    WHERE SALARY LIKE '%2' 查找以 2 结尾的任意值
    WHERE SALARY LIKE '_2%3' 查找第二位为 2,且以 3 结尾的任意值
    WHERE SALARY LIKE '2___3' 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值
    如果问题解决起来不妥或者有更好的解决办法,麻烦请告知,帮助曾经和你一样的入门者,谢谢。
  • 相关阅读:
    在Ubuntu18.04.2LTS上安装搜狗输入法
    生活点滴:java基础知识细化
    乘风破浪:LeetCode真题_041_First Missing Positive
    乘风破浪:LeetCode真题_040_Combination Sum II
    乘风破浪:LeetCode真题_039_Combination Sum
    乘风破浪:LeetCode真题_038_Count and Say
    乘风破浪:LeetCode真题_037_Sudoku Solver
    乘风破浪:LeetCode真题_036_Valid Sudoku
    乘风破浪:LeetCode真题_035_Search Insert Position
    乘风破浪:LeetCode真题_034_Find First and Last Position of Element in Sorted Array
  • 原文地址:https://www.cnblogs.com/ourran/p/6829913.html
Copyright © 2020-2023  润新知