zoukankan      html  css  js  c++  java
  • mysql简单增删改查(CRUD)

    先描述一下查看表中所有记录的语句以便查看所做的操作(以下所有语句建议自己敲,不要复制以免出错):

        user表,字段有 id, name,age,sex;id为主键,自增,插入时可以写 NULL 或者 DEFAULT;

        以下实列都以user表为列;

        CREATE TABLE user(

              -> id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        -> name VARCHAR(20),
        -> age INT,
        -> sex VARCHAR(10)
        -> );

       SELECT  *  FROM 表名;列如:SELECT * FROM user;(语句不区分大小写,规范约定为关键字大写,小写也可以,不过尽量遵守规范)

    1、插入数据:

      (1)INSERT INTO  表名  VALUES(,,,,,);  INTO 可省略

      则 : INSERT user VALUES(NULL,“张三” ,18,“男”);

      此时插入数据必须与字段对应,而且字段不能少

      无法插入汉字时,需要修改表的字符集:

      ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

      (2)插入多条记录时,以逗号分隔:

       INSERT user VALUES(NULL,“张三” ,18,“男”),(NULL,“李四” ,20,“男”)

      (3)可以选择插入的字段:这种只能插入一条数据

       INSERT user SET name='zhangsan',age=20;

      (4)选择字段并插入多条数据,以逗号分隔

       INSERT user(name,age) VALUES('zhangsan1',20),('张三',30);

    2、更新数据

      UPDATE 表名 SET 修改的操作 (WHERE 条件);

      (1)更新user表,让年龄在原有基础上加5;(没加条件,对所有数据修改)

        UPDATE user SET age = age+5;

      (2)更新user表,让年龄在原有基础上加5,并且姓名后面全都加上字符"HELLO"

        UPDATE user SET age=age+5,name=name+"HELLO";

      (3)对id为偶数的记录年龄加20,此时就不能对所有数据做操作,加上限定条件,只对id为偶数的年龄加20,id除以2的余数为0,则为偶数。

        UPDATE user SET age=age+20 WHERE id%2=0;

    3、删除数据

      DELETE FROM  表名 (WHERE 条件)

      (1)删除id为1的数据记录

      DELETE FROM user WHERE id=1;

      (2)删除name是张三的记录,就会删除所有姓名为张三的记录

      DELETE FROM user WHERE name='张三';

    4、查询数据(重点)

      (1)查询user表所有列的数据:

        SELECT * FROM user;

      (2)查询id和name这两列的数据:

        SELECT id,name FROM user;

      (3)查询时指定表名.字段名,为了避免查询多张具有相同字段名的表:

        SELECT user.id,user.name FROM user;

      (4)为表或字段起别名,为了避免名特别长的情况需要频繁输入,AS 后面就是别名,AS也可省略:

        SELECT u.id,u.name FROM user AS u;

      (5)GROUP BY 按字段名的值分组,按性别,性别只有男、女或者为NULL,name就会查到性别为男的第一条数据,性别为女的第一条,以及性别显示为NULL的

        SELECT * FROM user GROUP BY sex;

            (6)在GROUP BY之后还可以加上HAVING条件:id大于3的按性别分组:

        SELECT * FROM user GROUP BY sex HAVING id>3;

        HAVING 后面的id必须出现在查询的字段中,否则会报错:

        SELECT name FROM user GROUP BY sex HAVING id>3;(错误的,可以改为如下)

        SELECT name,id FROM user GROUP BY sex HAVING id>3;

      (7)ORDER BY按条件排序,DESC 降序,默认ASC升序,以下按id降序排列

        SELECT * FROM user ORDER BY id DESC;

      (8)ORDER BY可以多条件排序,当第一个条件无法排序时,按第二个条件排序:按age默认升序排,当出现两个age一样的时候,按id降序排列

        SELECT * FROM user ORDER BY age,id DESC;

      (9)LIMIT语句限制输出的语句数量:

        ,从第0个开始显示,显示2个

        SELECT * FROM user LIMIT 2;等价于:SELECT * FROM user LIMIT  0,2;

        与ORDER BY 结合使用:显示升序排列的前4条数据

        SELECT * FROM user ORDER BY age LIMIT 4;

      (10)将查询结果插入到另一张表,重新创建一个表tb1只有name和id字段:

        CREATE TABLE tb1(

          id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
          name VARCHAR(20));

        将查询到的年龄大于10的name列数据插入到tb1表中:

          查询到的结果字段必须与插入表中的字段数一样,不能查询到多个字段插入到一个字段中:

          INSERT tb1(name) SELECT  * FROM user WHERE age>10;(错误的)*查询到的字段是所有

          INSERT tb1(name) SELECT  name FROM user WHERE age>10;(正确的)

  • 相关阅读:
    Selenium入门15 截图
    selenium入门14 窗口切换
    Locust的官网及安装
    命令行输入Jmeter提示不是内部或外部命令,处理方式:添加环境变量
    python pip安装报错python setup.py egg_info failed with error code 1
    Selenium入门13 cookie的增删改查
    Selenium入门12 鼠标和键盘事件
    Selenium入门11 滚动条控制(通过js)
    Selenium入门10 弹出框的处理 switch_to.alert
    Selenium入门9 上传文件
  • 原文地址:https://www.cnblogs.com/YpfBolg/p/10849558.html
Copyright © 2011-2022 走看看