MySQL
MySQL连接
mysql-u用户名-p密码[-h数据库服务器IP地址 -P端口号]
SOL简介
一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。
DDL
数据库操作
查询
查询所有数据库:show databases;
查询当前数据库:select database();
使用
使用数据库:use 数据库名;
创建
创建数据库:create database「if not exists]数据库名;
删除
删除数据库:drop database[if exists] 数据库名
注意事项:上述语法中的database,也可以替换成schema。如:create schema db01;
MySQL图形化管理工具
表结构操作
创建
-- 创建: 基本语法
create table tb_user(
id int comment 'ID, 唯一标识',
username varchar(20) comment '用户名',
name varchar(10) comment '姓名',
age int comment '年龄',
gender char(1) comment '性别'
) comment '用户表';
约束
-- 创建: 基本语法 (约束)
create table tb_user(
id int primary key auto_increment comment 'ID, 唯一标识',
username varchar(20) not null unique comment '用户名',
name varchar(10) not null comment '姓名',
age int comment '年龄',
gender char(1) default '男' comment '性别'
) comment '用户表';
数据类型
案例
创建
-- 图形化界面创建表 tb_emp
create table tb_emp(
id int primary key auto_increment comment '主键ID',
username varchar(20) not null comment '用户名',
password varchar(32) default '123456' null comment '密码',
name varchar(10) not null comment '姓名',
gender tinyint unsigned not null comment '性别, 1 男, 2 女',
image varchar(300) null comment '图像url',
job tinyint unsigned null comment '职位, 1 班主任 , 2 讲师 , 3 学工主管, 4 教研主管',
entrydate date null comment '入职日期',
create_time datetime not null comment '创建时间',
update_time datetime not null comment '修改时间',
constraint tb_emp_username_uindex unique (username)
) comment '员工表';
查询
-- 查看: 当前数据库下的表
show tables;
-- 查看: 查看指定表结构
desc tb_emp;
-- 查看: 数据库的建表语句
show create table tb_emp;
修改
-- 修改: 为表 tb_emp 添加字段 qq varchar(11)
alter table tb_emp add qq varchar(11) comment 'QQ';
-- 修改: 修改 tb_emp 字段类型 qq varchar(13)
alter table tb_emp modify qq_num varchar(13) comment 'QQ';
-- 修改: 修改 tb_emp 字段名 qq 为 qq_num varchar(13)
alter table tb_emp change qq_num qq_num varchar(13) comment 'QQ';
-- 修改: 删除 tb_emp 的 qq_num 字段
alter table tb_emp drop column qq_num;
-- 修改: 将tb_emp 表名修改为 emp
rename table tb_emp to emp;
删除
-- 删除: 删除 tb_emp 表
drop table if exists tb_emp;
注意事项
在删除表时,表中的全部数据也会被删除。
DML
insert语法
-- DML : 插入数据 - insert
-- 1. 为 tb_emp 表的 username, name, gender 字段插入值
insert into tb_emp(username,name,gender,create_time,update_time) values ('wuji','张无忌',1,now(),now());
-- 2. 为 tb_emp 表的 所有字段插入值
insert into tb_emp(id, username, password, name, gender, image, job, entrydate, create_time, update_time)
values (null,'zhiruo','123','周芷若',2,'1.jpg',1,'2010-01-01',now(),now());
insert into tb_emp values (null,'zhiruo2','123','周芷若',2,'1.jpg',1,'2010-01-01',now(),now());
-- 3. 批量为 为 tb_emp 表的 username , name , gender 字段插入数据
insert into tb_emp(username,name,gender,create_time,update_time) values
('weifuwang','韦一笑',1,now(),now()),('xieshiwang','谢逊',1,now(),now());
注意事项
1.插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
2.字符串和日期型数据应该包含在引号中。
3.插入的数据大小,应该在字段的规定范围内。
update语法
-- DML : 更新数据 - update
-- 1. 将 tb_emp 表的ID为1员工 姓名name字段更新为 '张三'
update tb_emp set name = '张三' , update_time = now() where id = 1;
-- 2. 将 tb_emp 表的所有员工的入职日期更新为 '2010-01-01'
update tb_emp set entrydate = '2010-01-01', update_time = now();
注意事项
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
delete语法
-- DML : 删除数据 - delete
-- 1. 删除 tb_emp 表中 ID为1的员工
delete from tb_emp where id = 1;
-- 2. 删除 tb_emp 表中的所有员工
delete from tb_emp;
注意事项
1.DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。2.DELETE 语句不能删除某一个字段的值(如果要操作,可以使用UPDATE,将该字段的值置为NULL)。