MySQL 命令
函数
查看数据库版本
- select version();
查表是否存在
- show tables like ‘user_record’
增删改查
插入
-
INSERT INTO user_record (name, address, phone) VALUES (‘a’, ‘b’, 3)
-
INSERT INTO user_record (name ,address) VALUES (‘a’, ‘c’) ON DUPLICATE KEY UPDATE address = ‘c’
name ,address 中必须存在primary key 或 unique index,触发duplicate时使用update操作
-
REPLACE INTO user_record(name, address) VALUES(‘a’, ‘c’)
先执行insert操作,当遇到duplicate时,将原有记录删除,然后再insert
更新
- UPDATE user_record SET phone = 5 WHERE name = ‘a’
删除
- TRUNCATE user_record
TRUNCATE语句和DELETE语句的区别:
-
delete语句,是DML语句,truncate语句通常被认为是DDL语句。
-
delete语句,后面可以跟where子句,通常指定where子句中的条件表达式,只删除满足条件的部分记录,而truncate语句,只能用于删除表中的所有记录。
-
truncate语句,删除表中的数据后,向表中添加记录时,自动增加字段的默认初始值重新从1开始,而使用delete语句,删除表中所有记录后,向表中添加记录时,自动增加字段的值,为删除时该字段的最大值加1,也就是在原来的基础上递增。
-
delete语句,每删除一条记录,都会在日志中记录,而使用truncate语句,不会在日志中记录删除的内容,因此,truncate语句的执行效率比delete语句高。
JSON
-
SELECT json_extract(json_data,’$.arr[0].desk’) AS desk, json_extract(json_data,’$.arr[0].chair’) AS chair FROM house_items
-
SELECT * FROM house_items WHERE json_contains_path(json_data,’one’,’$.arr[0].desk’,’$.arr[0].chair’) > 0
JSON_CONTAINS 指定数据是否存在
1 |
|
JSON_CONTAINS_PATH 指定路径是否存在
1 |
|
JSON_EXTRACT 查找所有指定数据
1 |
|
JSON_KEYS 查找所有指定键值
1 |
|
JSON_SEARCH 查找所有指定值的位置
1 |
|