MySQL表数据的增删改查

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官方文档以获取准确的信息。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值