一直都是用MySQL可视化工具,几乎没碰过建库、表等语句了。在京东上线SQL必须在Archery平台通过,当前DB库字符集使用GB2312导致很多SQL无法通过Archery审计。但SQL知识实属遗忘了不少。趁机补一补SQL吧。
库语句
建库
-- 数据库配置文件default-character-set是utf8_mb3,则会导致创建的表是utf8mb3。我们无法人为控制,只能建库完毕后执行修改库字符集或者建库前修改MySQL配置
CREATE DATABASE IF NOT EXISTS `school` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
修改库字符集
-- 指定库的字符集
ALTER DATABASE `school` CHARACTER SET utf8mb4
指定库排序规则
-- 指定库的排序规则
ALTER DATABASE `school` COLLATE 'utf8mb4_bin'
当前库状态的建表语句
-- 查看建表语句
SHOW CREATE DATABASE `school`
删除库
-- 删除数据库
DROP DATABASE `school表名错误就无法删除了`;
Navicat编辑数据库时执行的SQL
-- 查看库的字符集,这是Navicat点击"编辑数据库"执行的SQL。直接执行就行,没有参数
SELECT @@character_set_database, @@collation_database
表语句
建表
默认值、默认时间、字段字符集、字段排序方式、索引、联合索引、注释、
添加字段
修改表
修改字段
修改表字符集、排序规则
截断表
删除表
添加索引
插入数据
INSERT INTO aa_seller(`id`, `order_id`) VALUE (10000, 10000);
INSERT INTO aa_seller(`id`, `order_id`) VALUES (10001, 10001);
批量插入数据
INSERT INTO aa_seller(`id`, `order_id`) VALUES (10003, 10003),(10004, 10004);
插入数据如果存在就更新 ON DUPLICATE KEY UPDATE
INSERT INTO aa_seller(`id`, `order_id`) VALUE (10000, 10000) ON DUPLICATE KEY UPDATE `order_id` = `order_id` + 1;
INSERT INTO aa_seller(`id`, `order_id`) VALUE (10000, 10000),(10001,10001) ON DUPLICATE KEY UPDATE `order_id` = `order_id` + 1;
特殊说明: 上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤