0

0

【MySQL】(4)操作数据表中的记录_MySQL

php中文网

php中文网

发布时间:2016-06-01 12:59:32

|

1056人浏览过

|

来源于php中文网

原创

1. 插入记录insert

方法一:

INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...;

例如:

 

CREATE TABLE users(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, password VARCHAR(32) NOT NULL, age TINYINT UNSIGNED NOT NULL DEFAULT 10, sex BOOLEAN);
# 插入记录,不指定列的数目时,必须所有的字段都要赋值
INSERT users VALUES(NULL, 'Tom', '123', 25, 1);
INSERT users VALUES(NULL, 'Tom2', '123', 28, 1);
INSERT users VALUES(DEFAULT, 'Tom3', '111', 28, 1);
# 使用数学表达式也可以添加值
INSERT users VALUES(DEFAULT, 'Tom4', '111', 3*7+2/3, 1);
# 给年龄DEFAULT,会采用默认值10
INSERT users VALUES(DEFAULT, 'Tom5', '111', DEFAULT, 1);
# 一次添加多条记录
INSERT users VALUES(DEFAULT, 'Tom6', '111', DEFAULT, 1), (NULL, 'Rose', md5('213'), DEFAULT, 0);
方法二:

 

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

这个方法与第一种方式的区别在于,此方法可以使用子查询(SubQuery),此方法一次性只能插入一条记录。

例如:

INSERT users SET username='Ben', password='456';
方法三:

 

INSERT [INTO] tbl_name [(col_name, ...)] SELECT ...;

使用此方法可以将查询结果插入到指定数据表。

2. 单表更新记录UPDATE

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

例如:

 

# 所有记录的年龄都加5
UPDATE users SET age=age+5;
# 更新多列
UPDATE users SET age=age-id, sex=0;
# 更新id为偶数的记录
UPDATE users SET age=age+10 WHERE id%2=0;

 

3. 单表删除记录DELETE

DELETE FROM tbl_name [WHERE where_condition];

例如:

 

DELETE FROM users WHERE id=6;

即使在删除后,id号不连续,那么新增的数据还是会在最大的id号加一。

4. 查询表达时解析

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

每一个表达式表示想要的一列,必须至少有一个。多个烈之间以英文逗号分隔。星号(*)表示所有列。tbl_name.*可以表示命名表的所有列。查询表达式可以使用[AS] alias_name为其赋予别名。别名可用于GROUP BY,ORDER BY或HAVING字句。

51shop 网上商城系统
51shop 网上商城系统

51shop 由 PHP 语言开发, 使用快速的 MySQL 数据库保存数据 ,为中小型网站实现网上电子商务提供一个完美的解决方案.一、用户模块1. 用户注册:用户信息包括:用户ID、用户名、用户密码、性别、邮箱、省份、城市、 联系电话等信息,用户注册后不能立即使用,需由管理员激活账号,才可使用(此功能管理员可设置)2. 登录功能3. 资料修改:用户可修改除账号以后的所有资料4. 忘记密码:要求用

下载

例如:

 

# 查看MySQL版本
SELECT VERSION();
# 查看当前时间
SELECT NOW();
# 只查看前两列
SELECT id, username FROM users;
SELECT username, id FROM users;
SELECT users.id, users.username FROM users;
SELECT id AS userid, username AS uname FROM users;
# AS关键字可以省略,但是尽量写上,避免不必要的错误
SELECT id username FROM users;
字段的顺序和结果集都将影响查询出的结果集。

 

(1). WHERE

条件表达式

对记录进行过滤,如果没有指定WHERE字句,则显示所有记录。在WHERE表达式中,可以使用MySQL支持的函数或运算符。

(2). GROUP BY

查询结果分组

例如:

 

SELECT sex FROM users GROUP BY sex;
# 1表示按照SELECT语句中第一个出现的字段排序
SELECT sex FROM users GROUP BY 1;
(3). HAVING

 

分组条件

例如:

 

# 当HAVING语句有age的条件时,前面的SELECT中必须出现这个age字段
SELECT sex, age FROM users GROUP BY 1 HAVING age>35;
# 或者是一个聚合函数
SELECT sex, age FROM users GROUP BY 1 HAVING count(id)>=2;
(4). ORDER BY

 

对查询结果进行排序

例如:

 

# 按照id降序排列
SELECT * FROM users ORDER BY id DESC;
# 同时以两个字段排序age默认升序,id降序
SELECT * FROM users ORDER BY age, id DESC;
(5). LIMIT

 

限制查询结果返回的数量

例如:

 

# 从第1条开始返回2条记录
SELECT * FROM users LIMIT 2;
# 从第1条开始,偏移2条后,查询2条记录
SELECT * FROM users LIMIT 2 OFFSET 2;
# 从第4条开始(从0开始计数),返回2条记录
SELECT * FROM users LIMIT 3, 2;
SELECT * FROM users ORDER BY id DESC LIMIT 2, 2;
CREATE TABLE test(id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20));
# 将users年龄大于30的数据插入test表
INSERT test(username) SELECT username FROM users WHERE age>=30;

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

59

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

52

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

25

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

10

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

7

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

411

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

232

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

194

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

150

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 5.1万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.3万人学习

Django 教程
Django 教程

共28课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号