MySQL数据库知识点
作者:CC
MySQL数据库操作指令
数据库
登录数据库:
退出:
插⼊入.sql⽂文件进⼊入数据库:
数据库相关的SQL
mysql -uroot -p
exit
source ⽂文件路路径
功能
命令格式
序号
1 查看所有数据库 show databases;
2 创建数据库
3 删除数据库
4 查看数据库详情 show create database 数据库名称;
creat database 数据库名称;
drop database 数据库名称;
5 创建数据库指定
字符集
6 使⽤用数据库
create database 数据库名称 character
set utf8/gbk;
use 数据库名称;
示例例
show databases;
creat database cc;
drop database cc;
show creat database cc;
create datebase cc1
character set gbk;
use cc;
命令格式
示例例
5 查看表字段信息 desc 表名;
第 ⻚页1
表相关SQL
序号
序号
功能
1 创建表
2 查看所有表
3 查看表详情
4 创建表指定引擎
和字符集
create table 表名(字段1名 字段1类型,
字段2名 字段2类型,……);
show tables;
show create table 表名;
create table 表名(字段1名 字段1类型,
字段2名 字段2类型,……)
engine=innodb/myisam charset=gbk/
utf8;
create table person(name
varchar(5),gender
varchar(5),age int,salary
int);
show tables;
show create table person;
create table t1(name
varchar(5),age int)
engine=myisam
charset=gbk;
desc person;
作者:CC
序号
功能
命令格式
6 修改表名
rename table 原名 to 新名;
7 修改表引擎和字
符集
alter table 表名 engine=myisam/innodb
charset=gbk/utf8;
8
添加表字段(第
⼀一种添加到最
后)
添加表字段(第
⼆二种添加到最
前)
添加表字段(第
三种某个后)
9 删除表字段
10 修改字段名称和
类型
11 修改字段类型和
位置
12 删除表
13 重建表
alter table 表名 add 字段名 字段类型;
alter table 表名 add 字段名 字段类型
first ;
alter table 表名 add 字段名 字段类型
after 已有字段名 ;
alter table 表名 drop 字段名
alter table 表名 change 原字段名 新字
段名 新类型;
alter table 表名 modify 字段名 新类型
first/after xxx;
drop table 表名;
truncate table 表名
MySQL数据库知识点
示例例
rename table person to
t_person;
alter table t_person
engine=myisam
charset=gbk;
alter table t1 add gender
varchar(5);
alter table t1 add id int
first;
alter table t1 add sal int
after age;
alter table t1 drop sal;
alter table t1 change name
name varchar(6);
alter table t1 modify name
varchar(5) after age;
drop table t1;
数据相关SQL
序号
序号
功能
1 插⼊入数据
命令格式
全表插⼊入insert into 表名 values(字段1
内容,字段2内容……)
指定字段插⼊入insert into 表名 (指定字
段) values(指定字段内容)
全表批量量插⼊入insert into 表名 values (字
段1内容,字段2内容……),(字段1内容,
字段2内容……),(字段1内容,字段2内
容……);
指定字段批量量插⼊入insert into 表名 (指定
字段) values(内容1),(内容2),(内容3);
示例例
insert into hero
values(1,’Tom’,’Man’)
insert into hero
(name,gender) values(‘张
⻜飞’,’男’);
insert into hero
values(5,'唐僧','男'),(6,'悟
空','男'),(7,'⼋八戒','男');
insert into hero (name)
values(‘李李雷雷’),(‘韩梅梅梅梅’),
(‘lucy’);
第 ⻚页2
作者:CC
MySQL数据库知识点
序号
功能
命令格式
示例例
2 查询数据
3 修改数据
4 删除数据
select 字段信息 from 表名 where 判断
条件(如 id<5)
update 表名 set 字段=内容 判断条件
(如 id=1)
delete from 表名 where 判断条件
select* from hero;
update hero set
gender=‘⼥女女’ where id=1;
delete from hero where
name=‘张⻜飞’;
主键约束、⾃自增、注释、`与单引号的区别
序号
名称
功能
格式
示例例
1 主键约束
2 主键约束
+⾃自增
主键:⽤用于表示数据唯
⼀一性的字段
约束:对表字段的值添
加限制条件
主键约束:保证主键的
值唯⼀一并且⾮非空
使主键数值⾃自增,⾃自增
数值只增不不减,从历史
最⼤大值的基础上+1
(添加数据到表中的时
候将对应主键的内容添
加为null即可实现⾃自
增)
create table 表名(字段1 字段类
型 primary key,字段2 字段类
型……);
create table t1(id int
primary key,name
varchar(10));
create table 表名(字段1 字段类
型 primary key auto_increment,
字段2 字段类型……);
create table t2(id int
primary key
auto_increment,nam
e varchar(10));
3
4
comment
注释
create table t3(字段名 字段类型
primary key auto_increment
comment ‘这是个主键',字段名
字段类型 comment '这是名字');
`和单引
号的区
别
`:⽤用于修饰表名和字段名
':于修饰⽂文本
5 ⾃自增清零 truncate table t2; //删除表并创建新表 ⾃自增数值清零
create table t3(id int
primary key
auto_increment
comment '这是个主
键',name
varchar(10)
comment '这是名
字');
事务(transaction)
执⾏行行成功或全部执⾏行行失败是
事务是数据库中执⾏行行同⼀一业务多条SQL语句句的⼯工作单元,事务可以保证多条SQL语句句全部
第 ⻚页3
MySQL数据库知识点
功能
格式
示例例
作者:CC
事务相关SQL语句句
序号
1
2
3
4
5
6
修改⾃自动提交的状态 0关闭 1开启
保存回滚点
开启事务(数据库中事务默认是⾃自动提交的)
回滚事务 把内存中的改动清除
提交事务 把内存中的事务提交
查看数据库⾃自动提交的状态
begin;
rollback;
commit;
show variables like
‘%autocommit%’;
set autocommit =0/1;
savepoint 名称;
begin;
rollback;
commit;
show variables like
‘%autocommit%’;
set autocommit =0;
savepoint s1;
SQL分类
序号
1
2
3
4
5
类型
数据定义语⾔言DDL
(Data Definition Language)
数据操纵语⾔言DML
(Data Manipulation
Language)
数据查询语⾔言DQL
(Data Manipulation
Language)
事务控制语⾔言TCl
(Transaction Control
Language)
数据控制语⾔言DCL
(Data Control Language)
包括
create alter drop
truncate
insert delete update
select(DQL)
不不⽀支持事务
⽀支持事务
select
⽀支持事务
begin rollback
commit savepoint
grant(授权)
revoke(取消授权)
⽤用于分配⽤用户权限相关的SQL
MySQL数据类型
类别
类别
整数类型
bit , bool , tinyint , smallint , mediumint , int , bigint
第 ⻚页4
作者:CC
类别
浮点数类型
字符串串类型
⽇日期类型
其他数据类型
整数类型
MySQL数据类型
tinyint(m)
smallint(m)
mediumint(m)
int(m)
bigint(m)
MySQL数据库知识点
float , double , decimal
char , varchar , tinytext , text , mediumtext , longtext , tinyblob , blob , mediumblob
, longblob
date , datetime , timestamp , time , year
binary , varbinary , enum , set , geometry , point , multipoint , linestring ,
multilinestring , polygon , geometrycollection 等
含义(有符号)
1个字节 范围(-128~127)
2个字节 范围(-32768~32767)
3个字节 范围(-8388608~8388607)
4个字节 范围(-2147483648~2147483648)
8个字节 范围(+-9.22*10的18次⽅方)
注:int(m)对应java中的int,bigint(m)对应java中的long,m代表显示⻓长度,需要结合 zerofill使⽤用
例例如:create table tint(id int,age int(8) zerofill);
浮点数类型
insert into tint values(1,28); select * from t_int;
MySQL数据类型
float(m,d)
double(m,d)
decimal(m,d)
含义(有符号)
单精度浮点型 8位精度(4字节)m总个数 ,d⼩小数位
双精度浮点型 16位精度(8字节)m总个数 ,d⼩小数位
定点数 参数m<65 是总个数,d<30且d