Day38(8)-C:\Users\Lenovo\AppData\Roaming\JetBrains\DataGrip2024.1\consoles\db\cf250fc1-63d6-428e-ae54-2da76ec59fbb
数据库
创建数据库
create database db01;
DDL
默认:default charset utf8mb4;
create TABLE user(
id int primary key auto_increment comment 'ID,唯一标识',-- 主键约束
username varchar(50) not null unique comment '用户名',-- 非空切唯一
name varchar(10) not null comment'姓名',-- 非空
age int comment '年龄',
gender char(1) default '男' comment '性别'
)comment '这是一张用户信息表';
-- 案例:设计员工表 emp
-- 基础字段:id 主键;create_time:创建时间;update_time:修改时间;
create TABLE emp(
id int unsigned primary key auto_increment comment 'ID:主键',
username varchar(20) not null unique comment '用户名',
password varchar(32) default '123456' comment '密码',
name varchar(10) not null comment '姓名',
gender tinyint unsigned not null comment '性别 1:男 2:女',
phone char(11) unique not null comment '手机号',
job tinyint unsigned comment '职位 1:班主任 2:讲师 3:学工主管 4:教研主管 5:咨询师',
salary int unsigned comment '薪资',
entry_date date comment '入职日期',
image varchar(255) comment '图像',
create_time datetime comment '创建时间',
update_time datetime comment '修改时间'
)comment '员工表';
-- 查询当前数据库的所有表
show tables ;
-- 查看表结构
desc emp;
-- 查询建表语句
show create table emp;
-- 字段:添加字段
alter table emp add qq varchar(13) comment 'QQ号码';
-- 字段:修改字段类型
alter table emp modify qq varchar(15) comment 'QQ号码';
-- 字段:修改字段名
alter table emp change qq qq_number varchar(15) comment 'QQ号码';
-- 字段:删除字段
alter table emp drop column qq_number;
-- 修改表名
alter table emp rename to employee;
-- 删除表
drop table employee;
-- DML : 数据操作语言
-- DML : 插入数据 - insert
-- 1. 为 emp 表的 username, password, name, gender, phone 字段插入值
insert into emp(username,password,name,gender,phone) values ('songjiang','12345678','宋江',1,'13300001111');
insert into emp(username,password,name,gender,phone) values ("songjiang2",'12345678','宋江2',1,'13300001116');
-- 2. 为 emp 表的 所有字段插入值
-- 方式1:
insert into emp(id, username, password, name, gender, phone, job, salary, entry_date, image, create_time, update_time)
values (null,'linchong','12345678','林冲',1,'13300001112',1,6000,'2020-01-01','1.jpg',now(),now());
-- 方式2:
insert into emp values (null,'likui','12345678','李逵',1,'13300001113',1,6000,'2020-01-01','1.jpg',now(),now());
-- 3. 批量为 emp 表的 username, password, name, gender, phone 字段插入数据
insert into emp(username,password,name,gender,phone) values
('ruanxiaoer','12345678','阮小二',1,'13300001114'),('ruanxiaowu','12345678','阮小五',1,'13300001115');
-- DML : 更新数据 - update
-- 1. 将 emp 表的ID为1员工 用户名更新为 'zhangsan', 姓名name字段更新为 '张三'
update emp set username = 'zhangsan',name = '张三' where id = 1;
-- 2. 将 emp 表的所有员工的入职日期更新为 '2010-01-01'
update emp set entry_date = '2010-01-01'
-- DML : 删除数据 - delete
-- 1. 删除 emp 表中 ID为1的员工
delete from emp where id = 1;
-- 2. 删除 emp 表中的所有员工
delete from emp ;
-- =================== DQL: 基本查询 ======================
-- 1. 查询指定字段 name,entry_date 并返回
select name,emp.entry_date from emp;
-- 2. 查询返回所有字段
-- 方式1:推荐
select id, username, password, name, gender, phone, job, salary, entry_date, image, create_time, update_time from emp;
-- 方式2:不推荐
select * from emp;
-- 3. 查询所有员工的 name,entry_date, 并起别名(姓名、入职日期)
select name as '姓 名',entry_date as 入职日期 from emp;
select name '姓 名',entry_date 入职日期 from emp;
-- 4. 查询已有的员工关联了哪几种职位(不要重复) -distinct
select distinct job from emp;

浙公网安备 33010602011771号