文章目录
一、数据库操作
1、查看所有数据库
show databases;
2、查看建库sql
show create database db1;
3、创建数据库
create database db1;
create database `ry-cloud`;
create database tt character set =utf8mb4 collate = utf8mb4_general_ci;
-- 5.7左右版本:utf8mb4_general_ci
4、修改数据库
-- 字符集
alter database newdb3 charset utf8mb4;
-- 排序规则
alter database yuncms collate=utf8mb4_general_ci;
5、删除数据库
drop database `ri-cloud`;
6、使用数据库
use db1;
7、退出数据库
exit;
8、查看数据库版本
select version()
- 登录数据库会显示
- Server version: 5.7.17 MySQL Community Server (GPL)
二、表操作
1、查看所有表
show tables;
2、查看建表sql
show create table 表名;
-- 有引擎和字符集信息
3、查看表详情
desc 表名;
4、创建表
create table 表名 (字段1名 字段1类型, 字段2名 字段2类型,...);
-- 创建表添加其它信息
create table 表名 (字段...) comment '用户表' engine=innodb character set=utf8mb4 collate=utf8mb4_general_ci row_format=Dynamic;
/*
comment:表注释
engine:引擎:innodb-支持数据库的复杂操作,包括外键、事务等(默认);myisam-只支持数据基础的增删改查操作
character set:字符集
collate:排序规则
row_format:行格式
*/
5、删除表
drop table person;
6、删除表并创建新表
truncate table t2;
7、修改表名
rename table 原名 to 新名;
8、修改表信息
alter table t_user comment ' ';
alter table 表名 engine=myisam/innodb character set=gbk/utf8;
三、字段操作
1、添加表字段
alter table t1 add age int comment' ' /first/after xxx(不写添加到最后);
2、删除表字段
alter table 表名 drop 字段名;
3、修改字段类型、位置
-- 不会清空该字段的值
-- 添加到第一行
alter table 表名 modify 字段名 新类型 comment ' ' first;
-- 添加到哪个字段后面
alter table 表名 modify 字段名 新类型 comment ' ' after xxx;
4)修改字段名称、类型
-- 不会清空该字段的值
alter table 表名 change 原字段名 新字段名 新类型 comment ' ';
四、数据操作
1、插入数据
- 全字段插入
-- 单条
-- 插入json数据-jsonObject
insert into hero values(1,'Tom','{"name": "kimi", "psd": "123"}');
-- 插入json数据-jsonArray
insert into hero values(1,'Tom',
'[{"name": "kimi", "psd": "123"},{"name": "rafa", "psd": "123"}]'); //json数组
-- 批量插入
insert into hero values(5,'唐僧','男'),(6,'悟空','男')
-- 插入NULL值
insert into hero values(null,null,'男')
- 指定字段插入
insert into hero (name,gender) values('张飞','男');
- 插入数据后获取自增主键
@@identity
可以跟在一条insert语句或多条insert语句后面,用户记录生成的自增主键- 如果未插入成功,返回 NULL
- 如果插入成功1行,则返回这条insert的自增主键值
- 如果插入成功多行,则返回最后一条insert的自增主键值
- 菜单表,3个字段分别为:id、名称、parent_id
INSERT INTO `sys_menu` VALUES (null, '试题管理', 0); -- 定义全局变量@question = 插入试题管理目录的自增主键值 select @question := @@identity; -- parent_id使用@question INSERT INTO `sys_menu` VALUES (null, '试题分类管理', @question); -- 定义全局变量@qust_category = 插入试题分类管理菜单的自增主键值 select @qust_category := @@identity; -- parent_id使用@qust_category INSERT INTO `sys_menu` VALUES (null, '试题分类-详情', @qust_category);
2、查询数据
-
select 字段1,字段2 from 表名;
- *:所有字段
-
查询json类型数据
select json_value, -- json类型字段 json_value->'$.url' url -- 查询json字段中的url属性,带双引号 json_value->>'$.url' url -- 查询json字段中的url属性,不带双引号 from ld_web_result_xray
-
select也可以不是表
-- 系统日期
select now();
-- 自定义字段值
select 'kimi' name;
3、修改数据
-
update 表名 set gender=‘女’ where 修改条件;
- 不加where修改条件就是改表中的所有的员工
-
举例
- 修改id小于5的性别为女
update hero set gender='女',age=18 where id<5;
- 修改为NULL值数据
update hero set gender=null
4、删除数据
delete from 表名 where 删除条件;
-- 不加where删除条件就是删除表中所有数据