博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql数据库中表记录的玩法
阅读量:4968 次
发布时间:2019-06-12

本文共 2821 字,大约阅读时间需要 9 分钟。

一、增加表记录(相当于插入表记录)

 

 1. 插入完整数据(顺序插入)    语法一:    INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);    语法二:    INSERT INTO 表名 VALUES (值1,值2,值3…值n);2. 指定字段插入数据    语法:    INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);3. 插入多条记录    语法:    INSERT INTO 表名 VALUES        (值1,值2,值3…值n),        (值1,值2,值3…值n),        (值1,值2,值3…值n);        4. 插入查询结果    语法:    INSERT INTO 表名(字段1,字段2,字段3…字段n)                     SELECT (字段1,字段2,字段3…字段n) FROM 表2                    WHERE …;

 

 

二、更新表记录

  1、格式:

语法:    UPDATE 表名 SET        字段1=值1,        字段2=值2,        WHERE CONDITION;示例:    UPDATE mysql.user SET password=password(‘123’)         where user=’root’ and host=’localhost’;  2、注意:    update 是用于修改或者说是更新数据记录,而set是设置更新那些字段(列)对应什么值,where是一个限制条件,只要与where连用才能精确的定位某一个数据记录,然后将其修改,如果没有where语句,那么就相当于是修改列下所有的数据记录。

 

三、删除表记录

  1、delete from table_name [where 条件字句];  ge:delete from user where password='' '' 这就是所有用户删除密码

  2、truncate table table_name;

  3、注意1和2都是删除表记录的,但是如果想删除表中某一行记录建议选择1,如果想删除表中所有记录选择2,删除表所有数据时1是先读取整张表的数据然后逐条删除,2是直接把表删除然后新建一张字段一样的表。

四、查询表记录

  1、格式:

    select *| 字段名1 [as] [别名],字段名2 [as] [别名],... from table_name where  字段名  字句条件

                          group by 字段名 字句条件

                          having 筛选条件

                          order by 字段名 [desc|asc]

                          limit  限制条件;

  2、where字句中可以使用:

    2.1 > < >= <= <> !=   表示比较运算符:

    2.2 between sum1 and sum2 表示值在sum1和sum2之间的数据

    2.3 in(sum1,sum2......)  表示所要查询在括号内的值

    2.4 like '字符串%‘  表示模糊查询

    2.5 and or not   表示逻辑查询

  3、order by 字句

    3.1 order by 是让查询出来的记录按照顺序有序显示出来,其中默认的是按照asc从小到大排序,也可以按照desc从大到小排序,但必须写在句末。

    3.2格式:

      select * from table_name order by 字段名 [desc|asc];

  4、limit 字句

    4.1用于限制查询出的数据记录条数

    4.2 格式:

      select * from table_name limit sum1[,sum2];

    4.3 eg:

      select * from table_name limi 2,5;    表示跳过前2行从第三行开始显示5行

  5、正则表达式:

    5.1 regexp 可以支持^ {sum} $,其中^表示以什么开头,$表示以什么结尾,{sum}表示出现多少次

    5.2 eg:

      select * from table_name where 字段名 regexp '^x' ;  表示查找以x开头的数据记录

      select * from table_name where 字段名 regexp 'x$' ;  表示查找以x结尾的数据记录

      select * from table_name where 字段名 regexp 'x{2}' ;  表示查找x出现两次的数据记录

  6、聚合函数:

    6.1 count(列名):统计行数,相当于统计一列中有多少行。

        eg: select count(列名) from table_name;

    6.2 sum(列名) : 统计列中的和,相当于把一列中的数据相加起来。

        eg: select sum(列名) from table_name;  

    6.3 avg(列名):统计一列中的平均值,相当于一列中的数据相加再除以一列中的数据的行数。

        eg: select avg(列名) from table_name;

    6.4 max|min(列名):统计一列中的最大|最小值

        eg:select max(列名)|min(列名) from table_name;

  7、group by

    7.1 格式:

      select * from  table_name group by 字段名 [having  逻辑判断条件];

    7.2group by 分组后面可以和having 连用。

  8、having

    8.1 select * from table_name having 逻辑判断条件;

    8.2having和where的区别:

      使用where的地方都可以用having替换

      having可以用在分组的后面也可以在分组前面,而where只能在分组前面

      having可以使用聚合函数,而where不行

转载于:https://www.cnblogs.com/xuanan/p/7235044.html

你可能感兴趣的文章
自己动手构造编译系统++编译、汇编与链接pdf
查看>>
JAVA 中文件读写函数BufferedReader 和 BufferedWriter 的使用
查看>>
Codeforces Round #206 (Div. 2)
查看>>
提升混合应用页面打开速度的新思路
查看>>
Mycat分表分库
查看>>
2019.7.11
查看>>
Php取扩展名
查看>>
模板的文件名和方法名一定要一致!!
查看>>
**p
查看>>
优先队列详解
查看>>
VS2012 创建项目失败,,提示为找到约束。。。。
查看>>
通过给定的文件流,判断文件的编码类型
查看>>
zookeeper(3) 持久化
查看>>
Windows Socket I/O模型 以及 Linux Epoll模型 的有关资料(转)
查看>>
用guava快速打造两级缓存能力
查看>>
随服务初始化的Servlet
查看>>
如何修改eclipse中maven默认仓库路径
查看>>
mysql--插入,删除
查看>>
软件需求第四周安排
查看>>
判别模型、生成模型与朴素贝叶斯方法
查看>>