python--MySql 表记录的操作

表记录的增删改查

  ---插入表记录 INSERT

    -- 插入一条数据

      INSERT [INTO] table_name (字段名称,...) VALUES(值,...);

    ---插入多条数据

      INSERT [INTO] table_name (字段名称,...) VALUES(值,...),

                            (值,...),

                            ...

                            (值,...);

  ---修改表记录 UPDATE

    UPDATE table_name SET 字段=值,字段=值... WHERE 字句;

  ---删除表记录

    DELETE FROM table_name [WHERE 字句];

    /*                如果不跟where语句则删除整张表中的数据
            delete只能用来删除一行记录
            delete语句只能删除表中的内容,不能删除表本身,想要删除表,用drop
            TRUNCATE TABLE也可以删除表中的所有数据,此语句首先摧毁表,再新建表。此种方式删除的数据不能在
            事务中恢复。*/

    TRUNCATE TABLE table_name;

     

查询表记录(重点)

  准备表和记录:

    CREATE TABLE table_name (

        字段名称 字段数据类型 [约束],

        字段名称 字段数据类型 [约束],

        ...

        字段名称 字段数据类型 [约束],

        );

    INSERT [INTO] table_name (字段名称,...) VALUES (值,...),

                          (值,...),

                          ...

                          (值,...);

  -- 查询语法:

    SELECT *|field1,filed2 ... FROM table_name

    WHERE 条件

    GROUP BY field

    HAVING 筛选

    ORDER BY field

    LIMIT 限制条数

  简单查询

    -- (1)select [distinct] *|field1,field2,......   from table_name
            -- 其中from指定从哪张表筛选,*表示查找所有列,也可以指定一个列
       -- 表明确指定要查找的列,distinct用来剔除重复行。
    -- (2)select 也可以使用表达式,并且可以使用: 字段 as 别名或者:字段 别名
     注意:不加逗号的后果:
        select name,JS from ExamResult;(√)
        select name JS from ExamResult; -- what will happen?---->记得加逗号
 

  使用where子句,进行过滤查询

    where子句中可以使用:

-- 比较运算符:
                        > < >= <= <> != (后面两条都是表示不等于)
                        between 80 and 100 值在80到100之间
                        in(80,90,100) 值是80或90或100
                        like ‘yuan%‘

       like ‘李___‘  
        /*   %表示任意多字符   _则表示一个字符李_,两个_则表示两个字符:__    */

       

      -- 逻辑运算符

       在多个条件之间可以使用逻辑运算符 and or not

  order by排序

   指定排序的列,排序的列既可是表中的列名,也可以是select 语句后指定的别名。    select *|field1,field2... from tab_name order by field [Asc|Desc]
    -- Asc 升序、Desc 降序,其中asc为默认值 ORDER BY 子句应位于SELECT语句的结尾。

  group by分组查询

  -- 注意,按分组条件分组后每一组只会显示第一条记录
  -- group by字句,其后可以接多个列名,也可以跟having子句,对group by 的结果进行筛选。

  /*
                   having 和 where两者都可以对查询结果进行进一步的过滤,差别有:
                     <1>where语句只能用在分组之前的筛选,having可以用在分组之后的筛选;
                     <2>使用where语句的地方都可以用having进行替换
                     <3>having中可以用聚合函数,where中就不行。
                   */

  -- GROUP_CONCAT() 函数
    SELECT id,GROUP_CONCAT(name),GROUP_CONCAT(JS) from ExamResult GROUP BY id;


  聚合函数

--<1> 统计表中所有记录

            -- COUNT(列名):统计行的个数
       -- SUM(列名):统计满足条件的行的内容和
       -- AVG(列名):统计该列平均值
       -- Max、Min:统计最大值和最小值

  limit记录条数限制

   SELECT * from ExamResult limit 1;
   SELECT * from ExamResult limit 2,5;        --  跳过前两条显示接下来的五条纪录
   SELECT * from ExamResult limit 2,2;

  正则表达式

  SELECT * FROM employee WHERE emp_name REGEXP ‘^yu‘;

  SELECT * FROM employee WHERE emp_name REGEXP ‘yun$‘;

  SELECT * FROM employee WHERE emp_name REGEXP ‘m{2}‘;
时间: 2024-12-15 01:33:50

python--MySql 表记录的操作的相关文章

Python/MySQL表操作以及连接

Python/MySQL表操作以及连接 mysql表操作: 主键:一个表只能有一个主键.主键可以由多列组成. mysql> create table yuan(id int auto_increment,yuangongname int,bumen_id int, primary key(id,yuangongname))engine=innodb default charset=utf8; Query OK, 0 rows affected (0.43 sec) 外键 :可以进行联合外键,操作

百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(一)

MySQL的行(记录)的操作(一) 1. 增(insert) insert into 表名 value((字段1,字段2...); # 只能增加一行记录 insert into 表名 values(字段1,字段2...); insert into 表名(id,name) values(字段1,字段2),(xx1,xx2); id,name,age 插入查询结果 语法: INSERT INTO 表名(字段1,字段2,字段3-字段n) SELECT (字段1,字段2,字段3-字段n) FROM 表2

mysql 表记录操作

1.增加表记录 <1>插入一条记录: insert [into] tab_name (field1,filed2,.......) values (value1,value2,.......); <2>插入多条记录: insert [into] tab_name (field1,filed2,.......) values (value1,value2,.......), (value1,value2,.......), ... ; <3>set插入: insert [

数据库:MySQL(单表的表记录的操作)(二)

一.表记录的增删改查 1.增加表记录 <1>插入一条记录: insert [into] tab_name (field1,filed2,.......) values (value1,value2,.......); 示例: insert into employee_new (id,name,birthday,salary) values (1,'yuan','1990-09-09',9000); insert into employee_new values (2,'alex','1989-

MYSQL触发器记录用户操作的命令

假如有一张重要的表btb,需要几个管理员来管理 管理员:[email protected].[email protected].[email protected] 要求给表btb创建触发器: trigger触发器需求: 1.当在btb表中做insert.update.delete操作时,在btb_trace表中记录执行操作的用户.时间.操作命令. 1.当在btb表中插入新记录时,atb_bak表中会将atb表中的所有数据记录下来.保持同步备份. 2.当在btb表中删除数据前,在atb_del表中

走入计算机的第四十一天(数据库2表记录的操作)

一 插入表记录 1 插入一条数据  insert insert [ info]  table_name (字段名称,...) values(值..) 2 插入多条数据 insert [ info]  table_name (字段名称,...) values(值..) (字段名称,...) values(值..) (字段名称,...) values(值..) ...... (字段名称,...) values(值..) 二 修改表记录 update table_name set 字段=值,字段=值.

Python学习第二十二课——Mysql 表记录的一些基本操作 (增删改)

记录基本操作: 增:(insert into) 基本语法: insert into 表名(字段) values(对应字段的值): 例子1: insert into employee(id,name,age,salary) values(1,"憨憨",24,5000); 指定添加insert into employee values(2,"憨憨",0,24,"技术部",5000); 对应添加 insert into employee set nam

MySQL之记录相关操作

一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及. ======================================================== 本节内容包括: 插入数据更新

MySQL(记录相关操作)

一.介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及. ======================================================== 本节内容包括: 插入数据更新