MySQL 基础命令入门一
各个关键字的顺序:
select .....from 表名 where 普通字段条件 group by 分组字段名 having 聚合函数条件 order by 排序字段名 limit ...
基础命令
0.连接数据库
windows:mysql -u root -p
Mac: 终端中输入(配置不同命令可能有差异)
cd /usr/local/mysql/bin
PATH="$PATH":/usr/local/mysql/bin
mysql -u root -p
1.查询所有数据库
SHOW DATABASES;
2.创建数据库
CREATE DATABASE 数据库名 CHARACTER SET utf8/gbk;
CREATE DATABASE `osd_a12n_dining` CHARACTER SET utf8mb4
3.查看数据库详情
SHOW CREATE DATABASE 数据库名;
4.删除数据库
DROP DATABASE 数据库名;
5.使用数据库
USE 数据库名;
6.创建表
CREATE TABLE 表名(name varchar(10),age int) CHARSET=utf8/gbk;
-- 若依
-- ----------------------------
-- 2、 存储已配置的 Trigger 的信息
-- ----------------------------
create table QRTZ_TRIGGERS (
sched_name varchar(120) not null comment '调度名称',
trigger_name varchar(200) not null comment '触发器的名字',
trigger_group varchar(200) not null comment '触发器所属组的名字',
job_name varchar(200) not null comment 'qrtz_job_details表job_name的外键',
job_group varchar(200) not null comment 'qrtz_job_details表job_group的外键',
description varchar(250) null comment '相关介绍',
next_fire_time bigint(13) null comment '上一次触发时间(毫秒)',
prev_fire_time bigint(13) null comment '下一次触发时间(默认为-1表示不触发)',
priority integer null comment '优先级',
trigger_state varchar(16) not null comment '触发器状态',
trigger_type varchar(8) not null comment '触发器的类型',
start_time bigint(13) not null comment '开始时间',
end_time bigint(13) null comment '结束时间',
calendar_name varchar(200) null comment '日程表名称',
misfire_instr smallint(2) null comment '补偿执行的策略',
job_data blob null comment '存放持久化job对象',
primary key (sched_name, trigger_name, trigger_group),
foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group)
) engine=innodb comment = '触发器详细信息表';
-- ----------------------------
-- 8、 存储与已触发的 Trigger 相关的状态信息,以及相联 Job 的执行信息
-- ----------------------------
create table QRTZ_FIRED_TRIGGERS (
sched_name varchar(120) not null comment '调度名称',
entry_id varchar(95) not null comment '调度器实例id',
trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键',
trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键',
instance_name varchar(200) not null comment '调度器实例名',
fired_time bigint(13) not null comment '触发的时间',
sched_time bigint(13) not null comment '定时器制定的时间',
priority integer not null comment '优先级',
state varchar(16) not null comment '状态',
job_name varchar(200) null comment '任务名称',
job_group varchar(200) null comment '任务组名',
is_nonconcurrent varchar(1) null comment '是否并发',
requests_recovery varchar(1) null comment '是否接受恢复执行',
primary key (sched_name, entry_id)
) engine=innodb comment = '已触发的触发器表';
drop table if exists sys_user;
create table sys_user (
user_id bigint(20) not null auto_increment comment '用户ID',
dept_id bigint(20) default null comment '部门ID',
user_name varchar(30) not null comment '用户账号',
nick_name varchar(30) not null comment '用户昵称',
user_type varchar(2) default '00' comment '用户类型(00系统用户)',
email varchar(50) default '' comment '用户邮箱',
phonenumber varchar(11) default '' comment '手机号码',
sex char(1) default '0' comment '用户性别(0男 1女 2未知)',
avatar varchar(100) default '' comment '头像地址',
password varchar(100) default '' comment '密码',
status char(1) default '0' comment '帐号状态(0正常 1停用)',
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)',
login_ip varchar(128) default '' comment '最后登录IP',
login_date datetime comment '最后登录时间',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (user_id)
) engine=innodb auto_increment=100 comment = '用户信息表';
DROP TABLE IF EXISTS `a_list`;
CREATE TABLE `mo_list`(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '表自增主键',
`seqno` varchar(32) NOT NULL DEFAULT '' COMMENT '单号',
`office_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '提报区域',
`dept_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '部门id',
`mo_type_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '提报类型',
`dining_day` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用餐日期 如20230701',
`dining_shift` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '提报餐次 1-白班 2-夜班',
`dining_num` int unsigned NOT NULL DEFAULT '0' COMMENT '用餐人数',
`handover_location` varchar(64) NOT NULL DEFAULT '' COMMENT '送餐地点',
`remark` varchar(128) NOT NULL DEFAULT '' COMMENT '备注',
`state` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '提报状态 0-默认 1-已提报',
`op_user_id` varchar(32) NOT NULL DEFAULT '' COMMENT '最后提报人',
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '提交时间',
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报餐表';
DROP TABLE IF EXISTS `config_detail`;
CREATE TABLE `config_detail`(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '表自增主键',
`office_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '提报区域',
`mo_type_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '报餐类型',
`state` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '开启状态 0-关闭 1-开启',
`handover_location` varchar(255) NOT NULL DEFAULT '' COMMENT '送餐地点',
`dayshift_time` char(8) NOT NULL DEFAULT '' COMMENT '白班时间',
`nightshift_time` char(8) NOT NULL DEFAULT '' COMMENT '晚班时间',
`price` int NOT NULL DEFAULT '0' COMMENT '价格 单位分',
`supplier_emails` varchar(1024) NOT NULL DEFAULT '' COMMENT '供应商邮箱列表',
`menu_pics` text COMMENT '菜单图片列表',
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '提交时间',
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_1` (`office_id`,`mo_type_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置表';
7.查询所有表(使用的数据库下的所有表)
SHOW TABLES;
8.查询表详情
SHOW CREATE TABLE 表名;
9.查看表字段
DESC 表名;
10.删除表
DROP TABLE 表名;
11.修改表名
RENAME TABLE 表名 TO 新表名;
12.添加表字段
在最后面添加格式:
ALTER TABLE 表名 ADD 字段名 类型;
alter table `meituan_bill_order` add column `bill_period` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '账期' after `company_subject`;
在最前面添加
ALTER TABLE 表名 ADD 字段名 类型 FIRST;
mysql> alter table `config_detail` add column `bill_period` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '账期' first;
13.删除表字段
ALTER TABLE 表名 DROP 字段名;
alter table `config_detail` drop `bill_period`;
14.修改表字段
ALTER TABLE 表名 CHANGE 原名 新名 新类型;
15.插入数据
INSERT INTO 表名 VALUES(值1,值2,...);
insert into sys_config values(1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', sysdate(), '', null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' );
insert into sys_config values(2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', sysdate(), '', null, '初始化密码 123456' );
insert into sys_config values(3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', sysdate(), '', null, '深色主题theme-dark,浅色主题theme-light' );
insert into sys_config values(4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', sysdate(), '', null, '是否开启验证码功能(true开启,false关闭)');
insert into sys_config values(5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', sysdate(), '', null, '是否开启注册用户功能(true开启,false关闭)');
insert into sys_config values(6, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', sysdate(), '', null, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)');
insert into sys_dict_type values(5, '任务分组', 'sys_job_group', '0', 'admin', sysdate(), '', null, '任务分组列表');
insert into sys_dict_type values(6, '系统是否', 'sys_yes_no', '0', 'admin', sysdate(), '', null, '系统是否列表');
insert into sys_dict_type values(7, '通知类型', 'sys_notice_type', '0', 'admin', sysdate(), '', null, '通知类型列表');
insert into sys_dict_type values(8, '通知状态', 'sys_notice_status', '0', 'admin', sysdate(), '', null, '通知状态列表');
insert into sys_dict_type values(9, '操作类型', 'sys_oper_type', '0', 'admin', sysdate(), '', null, '操作类型列表');
insert into sys_dict_type values(10, '系统状态', 'sys_common_status', '0', 'admin', sysdate(), '', null, '登录状态列表');
16.插入指定字段数据
INSERT INTO 表名(字段名1,字段名2,字段名3)VALUES(值1,值2,值3);
17.查询数据
SELECT 字段信息 FROM 表名 WHERE 条件;
例:SELECT name FROM person WHERE age>20;
18.修改数据
UPDATE 表名 SET 字段名=xxx,字段名=xxx WHERE 条件;
例:UPDATE person SET age = 8 WHERE age IS NULL;
19.删除数据
DELETE FROM 表名 WHERE 条件;
20.删除所有数据
DELETE FROM 表名;
CRUD:增删改查(create/read/update/delete)
create:新增项目
read:查询
update:修改
delete:删除
desc 表名:查看表结构
drop:删除表
primary key :主键
modify:修改(修改表中列的类型和长度)
decimal:泛型型
blob:字节类型
timestamp:时间戳
truncate:摧毁(彻底删除表格)
transaction:事物,业务
rollback:反转,回滚
connectivity:连通,连接
statement:语句(执行语句)
concur:共同作用,同时发生
preparedStatement:预编译声明
distinct:(去掉重复)
count:计数
connector:连接器
register:注册,登记
driver:驱动器
database:数据库
start:开始
insert:插入
unique:唯一
category:分类
truncate:摧毁(彻底删除表)
release:释放
template:模板
==================================================================================
constraint:(强制)约束
foreign key:外键
references:指向
join:加入
classLoader:类加载器
properties:属性
inputstream:输入流