mysql 表记录操作

Posted 嘟囔囔小孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [into] tab_name set 字段名=值 

2.修改表记录

update tab_name set field1=value1,field2=value2,......[where 语句]

3.删除表记录

方式1:
delete from tab_name [where ....]

方式2:
truncate table emp_new;

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

 

4.查询表记录

-- 查询语法:

   SELECT *|field1,filed2 ...   FROM tab_name
                  WHERE 条件
                  GROUP BY field
                  HAVING 筛选
                  ORDER BY field
                  LIMIT 限制条数


-- mysql在执行sql语句时的执行顺序:
                -- from  where  select  group by  having order by

 

5.where字句

(1)过滤查询

-- where字句中可以使用:

         -- 比较运算符:
                        > < >= <= <> !=
                        between 80 and 100 值在10到20之间
                        in(80,90,100) 值是10或20或30
                        like yuan%
                        /*
                        pattern可以是%或者_,
                        如果是%则表示任意多字符,此例如唐僧,唐国强
                        如果是_则表示一个字符唐_,只有唐僧符合。两个_则表示两个字符:__
                        */

         -- 逻辑运算符
                        在多个条件直接可以使用逻辑运算符 and or not

示例

-- 查询年纪大于24的员工
SELECT * FROM emp WHERE age>24;

-- 查询教学部的男老师信息
SELECT * FROM emp WHERE dep="教学部" AND gender="male";

 

(2)order 排序

-- 语法:

select *|field1,field2... from tab_name order by field [Asc|Desc]

         -- Asc 升序、Desc 降序,其中asc为默认值 ORDER BY 子句应位于SELECT语句的结尾。

示例

-- 按年龄从高到低进行排序
SELECT * FROM emp ORDER BY age DESC ;

-- 按工资从低到高进行排序
SELECT * FROM emp ORDER BY salary;

 

(3)group by 分组查询

GROUP BY 语句根据某个列对结果集进行分组。在分组的列上我们可以使用 COUNT, SUM, AVG等函数进行相关查询。

-- 语法:
  SELECT column_name, function(column_name)
        FROM table_name
        WHERE column_name operator value
        GROUP BY column_name;

 

(4)limit记录条数限制

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

(5)正则表达式

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};

 


以上是关于mysql 表记录操作的主要内容,如果未能解决你的问题,请参考以下文章

对MySQL库表和记录的基本操作

MySQL常用操作--多表联查

mysql-表记录/表结构操作

Mysql之库表记录相关操作4

python--MySql 表记录的操作

MySQL 库表记录相关操作