广告
返回顶部
首页 > 资讯 > 数据库 >MySQL该如何操作数据表中的记录
  • 531
分享到

MySQL该如何操作数据表中的记录

mysql数据库 2022-11-30 23:11:23 531人浏览 安东尼
摘要

下文主要给大家带来Mysql该如何操作数据表中的记录,希望这些内容能够带给大家实际用处,这也是我编辑mysql该如何操作数据表中的记录这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。 1.

下文主要给大家带来Mysql该如何操作数据表中的记录,希望这些内容能够带给大家实际用处,这也是我编辑mysql该如何操作数据表中的记录这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。 

1.插入记录 INSERT

INSERT [INTO] tbl_name [(col_name,...)] {VAULES|VALUE} ({expr|DEFAULT},...),(...),...

例,插入单条记录:

mysql> USE testDatabase changed
mysql> CREATE TABLE users(    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,    -> username VARCHAR(20) NOT NULL,    -> passWord VARCHAR(32) NOT NULL,    -> age TINYINT UNSIGNED NOT NULL DEFAULT 10,    -> sex BOOLEAN    -> );
mysql> INSERT users VALUES(NULL,'Tom','asd123',24,1);
mysql> SELECT * FROM users;+----+----------+----------+-----+------+| id | username | password | age | sex  |+----+----------+----------+-----+------+|  1 | Tom      | asd123   |  24 |    1 |+----+----------+----------+-----+------+

 

插入多条记录:

mysql> INSERT users VALUES(DEFAULT,'John','asd123',24,1),    -> (NULL,'Huang','daDDD',25,1);
mysql> SELECT * FROM users;                           
+----+----------+----------+-----+------+| id | username | password | age | sex  |+----+----------+----------+-----+------+|  1 | Tom      | asd123   |  24 |    1 ||  2 | John     | asd123   |  24 |    1 ||  3 | Huang    | daddd    |  25 |    1 |+----+----------+----------+-----+------+

 

插入数学表达式:

mysql> INSERT users VALUES(NULL,'John','asd123',3*7-5,1);
mysql> SELECT * FROM users;+----+----------+----------+-----+------+| id | username | password | age | sex  |+----+----------+----------+-----+------+|  1 | Tom      | asd123   |  24 |    1 ||  2 | John     | asd123   |  24 |    1 ||  3 | Huang    | daddd    |  25 |    1 ||  4 | John     | asd123   |  16 |    1 |+----+----------+----------+-----+------+

 

插入md5的哈希密码:

mysql> INSERT users VALUES(NULL,'John',md5('123'),DEFAULT,0);
mysql> SELECT * FROM users;+----+----------+----------------------------------+-----+------+| id | username | password                         | age | sex  |+----+----------+----------------------------------+-----+------+|  1 | Tom      | asd123                           |  24 |    1 ||  2 | John     | asd123                           |  24 |    1 ||  3 | Huang    | daddd                            |  25 |    1 ||  4 | John     | asd123                           |  16 |    1 ||  5 | John     | 202cb962ac59075b964b07152d234b70 |  10 |    0 |+----+----------+----------------------------------+-----+------+

 

2.插入记录 INSERT SET-SELECT    

 (与第一种方式的区别是 可以使用子查询,不可以同时插入多条记录)

INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...

 

例:

mysql> INSERT users SET username='Ben',password=md5('345');
mysql> SELECT * FROM users;+----+----------------------+----------------------------------+-----+------+| id | username             | password                         | age | sex  |+----+----------------------+----------------------------------+-----+------+|  1 | Tom                  | asd123                           |  24 |    1 ||  2 | John                 | asd123                           |  24 |    1 ||  3 | Huang                | daddd                            |  25 |    1 ||  4 | John                 | asd123                           |  16 |    1 ||  5 | John                 | 202cb962ac59075b964b07152d234b70 |  10 |    0 ||  6 | Ben                  | d81f9c1be2e08964bf9f24b15f0e4900 |  10 | NULL |+----+----------------------+----------------------------------+-----+------+

 

3.更新记录 UPDATE 

单表更新

UPDATE [LOW_PRioRITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}]... [WHERE where_condition]

 

  • 例,将所有记录的年龄加5:

mysql> UPDATE users SET age = age+5;
mysql> SELECT * FROM users;                                
+----+----------------------+----------------------------------+-----+------+| id | username             | password                         | age | sex  |+----+----------------------+----------------------------------+-----+------+|  1 | Tom                  | asd123                           |  29 |    1 ||  2 | John                 | asd123                           |  29 |    1 ||  3 | Huang                | daddd                            |  30 |    1 ||  4 | John                 | asd123                           |  21 |    1 ||  5 | John                 | 202cb962ac59075b964b07152d234b70 |  15 |    0 ||  6 | Ben                  | d81f9c1be2e08964bf9f24b15f0e4900 |  15 | NULL |+----+----------------------+----------------------------------+-----+------+

 

  • 将Tom的年龄加10岁:

mysql> UPDATE users SET age = age+10 WHERE id=1;
mysql> SELECT * FROM users WHERE id=1;+----+----------+----------+-----+------+| id | username | password | age | sex  |+----+----------+----------+-----+------+|  1 | Tom      | asd123   |  39 |    1 |+----+----------+----------+-----+------+

 

  • 将id为偶数的年龄加10岁:

mysql> UPDATE users SET age = age+10 WHERE id % 2 = 0;
mysql> select * from users;                           
+----+----------------------+----------------------------------+-----+------+| id | username             | password                         | age | sex  |+----+----------------------+----------------------------------+-----+------+|  1 | Tom                  | asd123                           |  39 |    1 ||  2 | John                 | asd123                           |  39 |    1 ||  3 | Huang                | daddd                            |  30 |    1 ||  4 | John                 | asd123                           |  31 |    1 ||  5 | John                 | 202cb962ac59075b964b07152d234b70 |  15 |    0 |+----+----------------------+----------------------------------+-----+------+

 

  • 修改所有记录的sex为0:

mysql> UPDATE users SET sex = 0;
mysql> select * from users;    
+----+----------------------+----------------------------------+-----+------+| id | username             | password                         | age | sex  |+----+----------------------+----------------------------------+-----+------+|  1 | Tom                  | asd123                           |  39 |    0 ||  2 | John                 | asd123                           |  39 |    0 ||  3 | Huang                | daddd                            |  30 |    0 ||  4 | John                 | asd123                           |  31 |    0 ||  5 | John                 | 202cb962ac59075b964b07152d234b70 |  15 |    0 ||  7 | Ben                  | d81f9c1be2e08964bf9f24b15f0e4900 |  15 |    0 |+----+----------------------+----------------------------------+-----+------+

 

4.删除记录 DELETE

单表删除    (若不添加WHERE则删除【全部记录】)

DELETE FROM tbl_name [WHERE where_condition]

 

  • 例,删除id=7的记录:

mysql> DELETE FROM users WHERE id = 7;
mysql> select * from users;           
+----+----------+----------------------------------+-----+------+| id | username | password                         | age | sex  |+----+----------+----------------------------------+-----+------+|  1 | Tom      | asd123                           |  39 |    0 ||  2 | John     | asd123                           |  39 |    0 ||  3 | Huang    | daddd                            |  30 |    0 ||  4 | John     | asd123                           |  31 |    0 ||  5 | John     | 202cb962ac59075b964b07152d234b70 |  15 |    0 |+----+----------+----------------------------------+-----+------+

 

5.查找记录 SELECT

SELECT select_expr [,select_expr...][
  FROM tbl_references
  [WHERE where_condition]
  [GROUP BY {col_name | position} [ASC | DESC],...]  [HAVING where_condition]
  [ORDER BY {col_name | expo | position}  [ASC | DESC],...]  [LIMIT {[offset,] row_count | row_count OFFSET offset}]
]

  

查询表达式(select_expr) 

1. 每一个表达式表示想要的一列,必须有至少一个 

2. 多个列之间以英文逗号分隔 

3. 星号(*)表示所有列;tbl_name.*可以表示命名表的所有列 

4. 查询表达式可以使用[AS]alias_name为其赋予别名 

5. 别名可用于GROUP BY,ORDER BY或HAVING子句 

SELECT查询表达式字段出现的顺序将影响结果集字段出现的顺序 

字段的别名也会影响以后的结果集  , 在以后的PHP中有重要作用

例,只查询users表中 id 和 username 两列:

mysql> SELECT id,username FROM users;+----+----------+| id | username |+----+----------+|  1 | Tom      ||  2 | John     ||  3 | Huang    ||  4 | John     ||  5 | John     |+----+----------+

 

查询users表中 id 和 username 两列,分别用userid,uname作为别名:

mysql> SELECT id AS userid ,username AS uname FROM users;                         
+--------+-------+| userid | uname |+--------+-------+|      1 | Tom   ||      2 | John  ||      3 | Huang ||      4 | John  ||      5 | John  |+--------+-------+

 

6.where语句进行条件查询

  •  条件表达式(WHERE)    

  • 对记录进行过滤,如果没有指定WHERE子句,则显示所有记录     

  • 在WHERE表达式中,可以使用MySQL支持的函数或运算符

7.group by语句对查询结果分组

group by

查询结果分组

[GROUP BY {col_name | position} [ASC | DESC],...]

 

可以制定列的列名和列的位置。

asc生序,desc降序,多个分组中间用逗号区分。

例,查询users表,按照性别分组:

mysql> SELECT sex FROM users GROUP BY sex;+------+| sex  |+------+|    0 |+------+

 

8.having语句设置分组条件

分组条件(HAVING)

[HAVING where_condition]

 

其中,where_condition要么是聚合函数(max,min,avg,count,sum),要么其中的字段必须是SELECT中的一个查询字段,否则会报错]

例,查询users表中sex分组,条件为age>20(这种方法需要查询字段也添加age字段):

mysql> SELECT sex,age FROM users GROUP BY sex having age > 20; 
+------+-----+| sex  | age |+------+-----+|    0 |  39 |+------+-----+

 

查询users表中sex分组,条件为id >=2 :

mysql> SELECT sex FROM users GROUP BY sex HAVING count(id) >= 2;    
+------+| sex  |+------+|    0 |+------+

 

9.order by语句对查询结果排序

对查询结果进行排序(ORDER BY)

[ORDER BY {col_name | expr | position} [ASC | DESC],...]

 

可以按照多个列排序

例,查询users表,按年龄从小到大排列:

mysql> SELECT * FROM users ORDER BY age ASC; 
+----+----------+----------------------------------+-----+------+| id | username | password                         | age | sex  |+----+----------+----------------------------------+-----+------+|  8 | Hui      | 9e1e06ec8e02f0a0074f2fcc6b26303b |   8 |    1 ||  5 | John     | 202cb962ac59075b964b07152d234b70 |  15 |    0 || 10 | Luyuan   | 9e1e06ec8e02f0a0074f2fcc6b26303b |  21 |    1 ||  9 | Dui      | 9e1e06ec8e02f0a0074f2fcc6b26303b |  27 |    1 ||  3 | Huang    | daddd                            |  30 |    0 || 12 | Murouan  | 9e1e06ec8e02f0a0074f2fcc6b26303b |  31 |    1 || 11 | Oduyuan  | 9e1e06ec8e02f0a0074f2fcc6b26303b |  31 |    1 || 13 | Spqoan   | 9e1e06ec8e02f0a0074f2fcc6b26303b |  31 |    1 ||  4 | John     | asd123                           |  31 |    0 ||  2 | John     | asd123                           |  39 |    0 ||  1 | Tom      | asd123                           |  39 |    0 |+----+----------+----------------------------------+-----+------+

 

查询users表,第一顺序按年龄从小到大排列,第二顺序按id从小到大排列:

mysql> SELECT * FROM users ORDER BY age,id ASC;+----+----------+----------------------------------+-----+------+| id | username | password                         | age | sex  |+----+----------+----------------------------------+-----+------+|  8 | Hui      | 9e1e06ec8e02f0a0074f2fcc6b26303b |   8 |    1 ||  5 | John     | 202cb962ac59075b964b07152d234b70 |  15 |    0 || 10 | Luyuan   | 9e1e06ec8e02f0a0074f2fcc6b26303b |  21 |    1 ||  9 | Dui      | 9e1e06ec8e02f0a0074f2fcc6b26303b |  27 |    1 ||  3 | Huang    | daddd                            |  30 |    0 ||  4 | John     | asd123                           |  31 |    0 || 11 | Oduyuan  | 9e1e06ec8e02f0a0074f2fcc6b26303b |  31 |    1 || 12 | Murouan  | 9e1e06ec8e02f0a0074f2fcc6b26303b |  31 |    1 || 13 | Spqoan   | 9e1e06ec8e02f0a0074f2fcc6b26303b |  31 |    1 ||  1 | Tom      | asd123                           |  39 |    0 ||  2 | John     | asd123                           |  39 |    0 |+----+----------+----------------------------------+-----+------+

 

10.LIMIT语句限制查询数量

LIMIT 限制查询结果返回的数量

[LIMIT{[offset,]row_count|row_count OFFSET offset}]

 

SELECT * from users  #返回所有的结果 
SELECT * from users limit 2  #返回所有的结果集中前两条

 

mysql> SELECT * FROM users LIMIT 2;+----+----------+----------+-----+------+| id | username | password | age | sex  |+----+----------+----------+-----+------+|  1 | Tom      | asd123   |  39 |    0 ||  2 | John     | asd123   |  39 |    0 |+----+----------+----------+-----+------+

 

SELECT * FROM users LIMIT 2,2;  #要查询结果集中第3条和第4条记录。mysql中的记录是从0开始的,共几条。

 

mysql> SELECT * FROM users LIMIT 2,2;+----+----------+----------+-----+------+| id | username | password | age | sex  |+----+----------+----------+-----+------+|  3 | Huang    | daddd    |  30 |    0 ||  4 | John     | asd123   |  31 |    0 |+----+----------+----------+-----+------+

 

 

总结

记录操作: INSERT , UPDATE , DELETE , SELECT

1.insert的三种

insert [into]  表名 [(列名,列名)]{values|value} ({(表达式|default},())insert [into]  表名 set 列名={(表达式|default},。。insert [into]  表名 [(列名,列名)] SELECT..

 

2.UPDATE 

(1)单表更新

UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT},[col_name2={expr2|DEFAULT}]...[WHERE where_condition]

 

多表更新

3.DELETE : 删除数据

(1)单表删除

DELETE FROM tbl_name [WHERE where_condition}

 

4.SELECT: //查询

SELECT select_expr [,select expr2...] #只查找某一个函数或表达式[FROM table_references #查询表名[WHERE where_conditon]  #查询条件[GROUP BY {col_name|position} [ASC|DESC],...] #按某个字段进行分组,相同的只显示第一个[HAVING where_conditon] #分组时,给出显示条件[ORDER BY {col_name|expr|position} [ASC|DESC],...] #排序[LIMIT {[offset,]row_count|row_count OFFSET offset}] #限制返回数量]

 

SELECT 

FROM 表的参照

WHERE 条件

GROUP BY 对记录结果进行分组

HAVING 对分组条件的设定

 

结合内容,将查找的结果存储在指定的数据表:

mysql> CREATE TABLE test(    -> id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,    -> username VARCHAR(20) NOT NULL

    -> );

 

mysql> INSERT test(username) SELECT username FROM users WHERE age >= 25;

mysql> SELECT * FROM test;                                   

+----+----------+| id | username |+----+----------+|  1 | Tom      ||  2 | John     ||  3 | Huang    ||  4 | John     ||  5 | Dui      ||  6 | Oduyuan  ||  7 | Murouan  ||  8 | Spqoan   |+----+----------+ 

对于以上关于MySQL该如何操作数据表中的记录,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的数据库,相信你会喜欢上这些内容的。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL该如何操作数据表中的记录

本文链接: https://www.lsjlt.com/news/173660.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL该如何操作数据表中的记录
    下文主要给大家带来MySQL该如何操作数据表中的记录,希望这些内容能够带给大家实际用处,这也是我编辑MySQL该如何操作数据表中的记录这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。 1....
    99+
    2022-11-30
    mysql 数据库
  • MYSQL——操作数据表中的记录
       MYSQL操作数据表中的记录1    把选中的列数名到最前面   ALTER TABCE 表名 MODIFY 列数名以及列数名的类型 FIR...
    99+
    2022-10-18
  • 如何提取MySQL binlog中指定表的操作记录
    小编给大家分享一下如何提取MySQL  binlog中指定表的操作记录,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 一段简单的Python脚本,需...
    99+
    2022-10-18
  • mysql表中删除重复记录,只保留一条记录的操作
    mysql表中两个字段重复记录,只保留一条记录的操作 例如有一张学生表 其中name 和 class 相同的视为重复记录,需要保留一条记录,删除重复记录, 两种操作方式如下: 方法一: group ...
    99+
    2023-09-27
    mysql 数据库
  • MySQL 删除表中的数据记录详解
      目录 前言言 一、删除表中的数据记录? 1.删除特定数据记录 2.删除所有数据记录 总结 前言         删除数据记录是数据操作中常见的操作,可以删除表中已经存在的数据记录。在MySQL中可以通过DELETE语句来删...
    99+
    2023-09-11
    mysql 数据库 sql
  • 如何向MySQL数据表插入行记录
    这篇文章主要介绍了如何向MySQL数据表插入行记录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。摘要:为装载数据是管理员的重要职责之一,正因...
    99+
    2022-10-19
  • MySQL学习笔记-数据类型与操作数据表
    MySQL学习笔记-数据类型与操作数据表数据类型:  1.字符型  2.整型  3.浮点型  4.日期时间型数据表操作:  1.插入记录 ...
    99+
    2022-10-18
  • MySQL学习笔记 数据类型与操作数据表
    1.数据类型        【1】整型:数据类型存储范围字节TINYINT有符号型:-128~127(-2^7~2^7 -1),无符号型...
    99+
    2022-10-18
  • MySQL中表数据的DML操作
    这篇文章主要介绍“MySQL中表数据的DML操作”,在日常操作中,相信很多人在MySQL中表数据的DML操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL中表数据的...
    99+
    2022-10-18
  • MySQL中行记录的操作示例
    这篇文章主要介绍MySQL中行记录的操作示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在Mysql管理软件中, 可以通过sql语句中的dml语言来实现数据的操作, 包括1、使用I...
    99+
    2022-10-18
  • binlog是如何记录mysql对事务表和非事务表的DML操作
    本文主要给大家简单讲讲binlog是如何记录mysql对事务表和非事务表的DML操作,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望binlog是如何记录my...
    99+
    2022-10-18
  • Linux下怎么查看mysql数据库操作记录
    小编给大家分享一下Linux下怎么查看mysql数据库操作记录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux下查看mysql数据库操作记录具体方法MyS...
    99+
    2023-06-27
  • 删除mysql数据表如何操作
    MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。 语法 以下为删除MySQL数据表的通用语法: DROP TABLE table_name...
    99+
    2022-05-20
    mysql 删除表
  • MySQL表数据的DML操作
    这篇文章主要介绍“MySQL表数据的DML操作”,在日常操作中,相信很多人在MySQL表数据的DML操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL表数据的DML...
    99+
    2022-10-18
  • mysql对数据的更新操作记录日志在哪里
    这篇文章主要介绍mysql对数据的更新操作记录日志在哪里,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql对数据的更新操作记录在通用查询日志和二进制日志中。通用查询日志用来记录...
    99+
    2022-10-18
  • MySQL 如何限制一张表的记录数
    目录一、触发器解决方案二、分区表解决方案三、通用表空间解决方案关于MySQL 如何限制一张表的记录数,这没有一个简化的答案,比如执行一条命令或者说简单设置一个参数都不能完美解决。接下...
    99+
    2022-11-12
  • MySQL中怎么操作数据表
    这篇文章将为大家详细讲解有关MySQL中怎么操作数据表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用MySQL,目前你可以在三种基本数据库表格式间选择。...
    99+
    2022-10-18
  • 如何查看Oracle数据库的操作历史记录
    查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用...
    99+
    2023-10-22
    oracle
  • MySQL数据库中表的操作详解
    目录1.mysql中的数据类型2.创建数据表3.删除表4.插入数据5.更新数据6.删除数据7.快速复制表8.快速删除表数据1.Mysql中的数据类型 varchar 动态字符串类型(最长255位),可以根据实际长度来动态...
    99+
    2022-08-18
    MySQL数据库 表操作 MySQL 表 操作 MySQL数据库 表
  • MySQL中该如何约束及修改数据表
    本文主要给大家简单讲讲MySQL中该如何约束及修改数据表,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望MySQL中该如何约束及修改数据表这篇文章可以给大家带...
    99+
    2022-11-30
    mysql 数据表
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作