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字句。
例如:
# 查看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;

在数据库优化中,应根据查询需求选择索引策略:1.当查询涉及多个列且条件顺序固定时,使用复合索引;2.当查询涉及多个列但条件顺序不固定时,使用多个单列索引。复合索引适用于优化多列查询,单列索引则适合单列查询。

要优化MySQL慢查询,需使用slowquerylog和performance_schema:1.启用slowquerylog并设置阈值,记录慢查询;2.利用performance_schema分析查询执行细节,找出性能瓶颈并优化。

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。

MySQL异步主从复制通过binlog实现数据同步,提升读性能和高可用性。1)主服务器记录变更到binlog;2)从服务器通过I/O线程读取binlog;3)从服务器的SQL线程应用binlog同步数据。

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

MySQL的安装和基本操作包括:1.下载并安装MySQL,设置根用户密码;2.使用SQL命令创建数据库和表,如CREATEDATABASE和CREATETABLE;3.执行CRUD操作,使用INSERT,SELECT,UPDATE,DELETE命令;4.创建索引和存储过程以优化性能和实现复杂逻辑。通过这些步骤,你可以从零开始构建和管理MySQL数据库。

InnoDBBufferPool通过将数据和索引页加载到内存中来提升MySQL数据库的性能。1)数据页加载到BufferPool中,减少磁盘I/O。2)脏页被标记并定期刷新到磁盘。3)LRU算法管理数据页淘汰。4)预读机制提前加载可能需要的数据页。

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器