MySQL常用命令记录学习

一、MySQL8.0新特性

字符集

  • 默认字符集再8.0之前为latin 1,8.0之后改为utf8m64

自动增量的持久化

自动增量持久化就是指在自动增长的字段中,当我们向表中插入一个数据的时候,在重新启动mysql服务器的时候还能继续保持上一次服务的增量最大值,例如我们在一个id自增的表中添加四条数据,
此时数据库的最大id值为4,当我们删除id为4的记录时,在新增一条记录,此时新增的记录的字段id值为5,假如这个时候我们删除了id为5的字段,并重启了mysql服务,然后再向表中添加一条记录,此时这个新增的记录再mysql8.0之前的版本中是5,而再mysql8.0之后的版本中,这个新增的字段id值为6.这就是自动增量的持久化。

DDL的原子化

在mysql8.0的版本中,InnoDB表的DDL支持事务的完整性,即DDL操作要么全部成功要么全部失败,例如我们在一条sql语句中删除数据库中的两个表,其中table_1表存在,table_2不存在

drop table table_1,table_2;

在mysql8.0之前的版本中,table_1会被删除,而8.0版本不会,这就是DDL原子化。

二、数据库相关

创建数据库:

create database databases_name

删除数据库:

drop database database_name

三、表相关

创建:

CREATE TABLE emp(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(22) NOT NULL,
deptid INT(11),
salary FLOAT
);

删除:

DROP TABLE emp;

查看表的结构:

desc 表名

查看表的创建过程:

show create table emp;

修改表

修改表名

alter table tablename rename table_name;

修改字段的数据类型

alter table <表名> modify <字段名> <字段类型>

修改字段名

alter table <表名> change <旧字段名> <新字段名> <数据类型>

添加字段

alter table <表名> add <字段名> <数据类型> after name //再name字段之后添加

删除字段

alter table <表名> drop <字段名>

记录相关

插入记录

为所有的字段插入书记

insert into table values(xxx,xxx,xxx);

为指定字段插入数据

insert into table (name,age,info) values(“xxx”,18,“xxxx”);

插入多条记录

insert into table (name,age,info) values(“xxx”,18,“xxxx”),(“xxx”,12,“xxxx”),(“xxx”,14,“xxxx”);

将查询结果插入记录

insert into table (name,age,info) select name,age,info from table;

更新数据

update table set column_1=xxx,column_2=xxx where id=X;

删除数据

delete from table where id =? //删除指定id

delete from table //删除表中全部数据

为表添加计算列

CREATE TABLE num(
	id INT(11) PRIMARY KEY AUTO_INCREMENT,
	a INT(2),
	b INT(2),
	c INT(2) generated always AS (( a + b)) VIRTUAL
);

ALTER TABLE num ADD COLUMN d INT(2) generated always AS (( a + b)) VIRTUAL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空圆小生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值