美文网首页
增删改查

增删改查

作者: leiyulingling | 来源:发表于2018-10-29 11:01 被阅读0次

    SQL操作

    CREATE TABLE

    CREATE TABLE用来创建一个表

    //创建一个表,表的名称为table_name,该表有三列,列名分别为column_1,column_2,column_3.列中的数据类型分别为整形,文本,整形

     CREATE TABLE table_name (
     column_1 INTEGER, 
     column_2 TEXT, 
     column_3 INTEGER
      );
    

    eg:

     CREATE TABLE table_test (
         id INTEGER, 
         name TEXT, 
         age INTEGER
       );
    
    INSERT INTO

    INSERT INTO用于向列中插入值

    //分别向列id, name, age中插入 1, 'Justin Bieber', 21

     INSERT INTO table_test (id, name, age) VALUES (1, 'Justin Bieber', 21);
    

    //插入多条数据

    1、MySQL数据库:

     INSERT INTO table_test (id, name, age) 
     SELECT 1, 'Justin Bieber', 21 
     UNION SELECT 2, 'Marry', 25 
     UNION SELECT 3, 'JOJO', 23 ;
    
    INSERT DELAYED INTO `table_test ` (`id`, `name`, `age`) VALUES
    (1, 'Justin Bieber',21),
    (2, 'Marry', 25),
    (3, 'JOJO',23);
    

    2、oracle数据库:

    -----------第一种插入方式---------------
    INSERT INTO table_test (id, name, age) VALUES  (1, 'Justin Bieber',21);
    INSERT INTO table_test (id, name, age) VALUES  (2, 'Marry',25);
    INSERT INTO table_test (id, name, age) VALUES  (3, 'JOJO',23);
    
    -----------第两种插入方式---------------
    INSERT INTO table_test (id, name, age)
    SELECT 1, 'Justin Bieber',21 FROM dual UNION ALL 
    SELECT 2, 'Marry',25 FROM dual UNION ALL 
    SELECT 3, 'JOJO',23 FROM dual;
    
    UPDATE

    用于修改表中的数据

    //语法

     UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    

    //修改id=1这一行的age列的数据为22

     UPDATE table_test SET age = 22 WHERE id = 1;
    
    ALTER TABLE

    修改表,用于增加,修改,删除列

    //ADD COLUMN添加一个列

     ALTER TABLE table_test ADD COLUMN address TEXT;
    

    //DROP COLUMN删除一个列

     ALTER TABLE table_test DROP COLUMN address ;
    
    DELETE

    删除表中的行

    //IS NULL表示值是NULL或者不存在,删除age列中值不存在的行

     DELETE FROM table_test WHERE age IS NULL;
    

    SQL查询

    DISTINCT

    过滤重复的数据

     SELECT DISTINCT * FROM table_test ;
    
     SELECT DISTINCT age FROM table_test ;
    
    WHERE

    通过各种条件定位到具体的数据

     操作符    描述
    
     =  等于
     <>     不等于
     >  大于
     <  小于
     >=     大于等于
     <=     小于等于
     BETWEEN    在某个范围内
     LIKE   搜索某种模式
    

    //统计age大于24的数据

     SELECT * FROM table_test WHERE age > 24;
    
    LIKE

    模糊匹配

    //_通配一个字符

     SELECT * FROM table_test WHERE name LIKE 'Mar_y';
    

    //%通配任意多个字符

     SELECT * FROM table_test WHERE name LIKE '%Bieber%';
    
    BETWEEN

    匹配一个范围

    //查到age范围在23到30之间的数据

     SELECT * FROM table_test WHERE age BETWEEN 23 and 30;
    
    AND

    逻辑与
    //查到age范围在23到30之间的数据

     SELECT * FROM table_test WHERE age >= 23 and age <= 30;
    
    OR

    逻辑或
    //查到age范围不在在23到30之间的数据

     SELECT * FROM table_test WHERE age <= 23 or age >= 30;
     等同于
     SELECT * FROM table_test WHERE age not BETWEEN 23 and 30;
    
    ORDER BY

    //依据某一列进行排序,ASC是顺序排序,DESC是逆序排序。

     SELECT * FROM table_test ORDER BY age ASC;
    

    SQL计算

    COUNT()

    COUNT()是最快的方式,统计一张表总共的行数。COUNT()函数的参数是一个列的名称,统计整个表所有的行数时,采用通配符*;

    //统计整个表的行数

    SELECT COUNT(*) FROM table_test ;
    

    //统计age为25的行数

     SELECT COUNT(*) FROM table_test WHERE age= 25;
    
    GROUP BY

    GROUP BY <列名> 将一列中相同值的列分成一组

    //按照age进行分组,并统计每组元素的个数

     SELECT age, COUNT(*) FROM table_test GROUP BY age;
    
    SUM()

    SQL通过SUM()可以很容易统计一列的和

    //计算age一列的和

     SELECT SUM(age) FROM table_test ;
    
    MAX()

    MAX()函数可以找到一列中的最大值

    SELECT MAX(age) FROM table_test ;

    MIN()

    MIN()函数可以找到一列中最小的值,用法与MAX()相同

    AVG()

    AVG()函数计算一列的平均值,用法与MAX()相同

    ROUND()

    设定数值到指定的精度

    //设定计算的平均值精度精确到小数点后两位
    SELECT ROUND(AVG(age), 2) FROM table_test;

    多个表操作

    PRIMARY KEY

    在使用CREATE TABLE时为id添加PRIMARY KEY,PRIMARY KEY是一张表中每一行独一无二的标识,该表将id作为主键。通过主键将多个表联系起来。

     CREATE TABLE table_test (id INTEGER PRIMARY KEY, name TEXT)
    

    相关文章

      网友评论

          本文标题:增删改查

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