mysql入门(三)
查询:
1)、查询所有行
select <字段1,字段2,...> from < 表名 > where < 表达式 >
例如:查看表MyClass 中所有数据
select * from MyClass;
2)、查询前几行数据
例如:查看表MyClass 中前2行数据
select * from MyClass order by id limit 0,2;
select一般配合where使用,以查询更精确更复杂的数据。
3)、使用SELECT子句进行多表查询
SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件
例如:
SELECT a.name,a.address,b.math,b.english,b.chinese
FROM tb_demo01 AS b, tb_demo02 AS a
WHERE a.id=b.id
修改:
update 表名 set 字段=新值,… where 条件
update MyClass set name='Mary' where id=1;
例子1:单表的MySQL UPDATE语句:
UPDATE [LOW_PRIORITY] [IGNORE] tb_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
例子2:多表的UPDATE语句:
UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]
UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定了ORDER BY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。
插入:
INSERT[LOW_PRIORITY |DELAYED| HIGH_PRIORITY][IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES({expr |DEFAULT},...),(...),...
[ ONDUPLICATE KEY UPDATE col_name=expr, ... ]
或:
INSERT[LOW_PRIORITY |DELAYED| HIGH_PRIORITY][IGNORE]
[INTO] tbl_name
SET col_name={expr|DEFAULT}, ...
[ ONDUPLICATE KEY UPDATE col_name=expr, ... ]
或:
INSERT[LOW_PRIORITY|HIGH_PRIORITY][IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
[ ONDUPLICATE KEY UPDATE col_name=expr, ... ]
删除:
单表语法:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_definition]
[ORDER BY ...]
[LIMIT row_count]
多表语法:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*] ...]
FROM table_references
[WHERE where_definition]
或:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*] ...]
USING table_references
[WHERE where_definition]
【说明】:
LOW_PRIORITY
- 指定该修饰符后,DELETE操作的执行会被延迟,直到没有其他客户端正在读取该表时才执行。
- 这个修饰符主要用于降低删除操作对读取操作的干扰,适用于那些对读取性能要求较高的应用场景。123
QUICK
- 对于MyISAM表,使用QUICK修饰符可以在删除过程中不合并索引端结点,从而加快某些类型的删除操作的速度。
- 这意味着在删除数据时,存储引擎不会立即优化索引结构,而是保留被删除记录的空间,以便后续插入操作可以重用这些空间。1234
IGNORE
- IGNORE修饰符用于使MySQL在删除行的过程中忽略所有的错误。
- 如果在删除过程中遇到错误(例如,外键约束冲突),MySQL会忽略这些错误并继续执行删除操作,但会将错误作为警告返回。123
需要注意的是,这些修饰符的使用可能会影响删除操作的性能和结果,因此在实际应用中需要根据具体情况谨慎选择。同时,随着MySQL版本的更新,这些修饰符的行为和可用性也可能会发生变化,因此在编写SQL语句时,最好参考当前版本的MySQL官方文档以获取准确的信息。