mysql数据库相关操作

本文详细介绍了MySQL数据库的各种操作,包括创建、切换和删除数据库,以及表的创建、修改和删除。深入探讨了数据类型、字段属性和时间类型,同时涵盖了数据的增删改查操作。此外,还讲解了如何设置默认值、唯一性约束和主键,以及字符集和校对集的选择。
摘要由CSDN通过智能技术生成

数据库相关

展示所有数据库

show databases

创建数据库

creat database [if not exists] '数据库名' charset=字符编码(utf8mb4);

切换到数据库

use python201

删除数据库

drop database 'dbname';

表格相关

创建表:

creat table '表的名字'(
id int primary key auto_increment commment ""用户的唯一标示"",
name varchar(128),  # 至少要写字段的名字和数据类型
age int,
tel varchar unique  # 字段tel 有唯一约束
)charset=utf8mb4;
primary key : 主键,代表此列的数值需要是唯一值
auto_increment : 代表自增,会在新记录插入表中时生成一个唯一的数字
comment :注释

修改数据库的编码方式

alter database 'dbname' charset=utf8;

查看表格式

desc/describe tablename

查看建表语句

show create tablename

修改表名:

alter table 'oldname' rename 'newname';

移动表:

alter table 'tablename' rename to 'dbname.tablename';

删除表:

drop table 'tablename';

表字段相关

增加一个新的字段:

alter table 'tablename' add '字段名' 数据类型 [属性];

增加一个新的字段,并放在首位:

alter table 'tablename' add '字段名' 数据类型 [属性] first;

增加一个新的字段,并放在某字段后:

alter table 'tablename' add '字段名' 数据类型 [属性] after '指定字段';

修改字段属性:

alter table 'tablename' modify '字段名' 数据类型 [属性];

修改字段名称及属性:

alter table 'tablename' change '原字段名' '新字段名' 数据类型 [属性];

修改字段位置:

alter table 'tablename' change '原字段名' '新字段名' 数据类型 [属性] after '指定字段';

删除字段:

alter table 'tablename' drop '字段名'

数据相关

增:Create

insert 语句用来插入数据:
insert into 'table_name'('字段1,字段2,...') values('v1,v2,...')
insert into 'table_name' value('v1,v2,...')

查:Read

select 语句来查询数据,一般会配合where或having来进行条件判断
select '字段' from 'table_name'
distinct:查找的数据去除重复项
select distinct '字段' from 'table_name'

改:Update

update 语句用来修改数据,一般会配合where来进行条件判断
update 'tablename' set '字段名'='新数据' where '字段(ID)'='数据';

删:Delete

delete 语句用来删除数据,一般会配合where来进行条件判断
delete from 'tablename' where '字段(id)'='数据'
delete from 'tablename' 删除表里的所有数据
truncate 'tablename' 清空表格

不建议使用的复制表格命令:因为复制的时候不会复制表格里的字段属性

creat table tablename1 select * from tablename2;
创建tablename1,将tablename2里所有的数据复制到tablename1

复制表格命令:

creat table tablename1 like tablename2
创建tablename1,将tablename2里的字段和字段属性复制到tablename1、不复制数据
insert into tablename1 select * from tablename2;
创建tablename1,将tablename2里所有的数据复制到tablename1

不同字符集有不同的校对规则,
命名约定:以其相关的字符集名开始,通常包括一个语言名,并且以’_ci’、’_cs’或’_bin’结束

_ci 大小写不敏感
_cs 大小写敏感
_bin binary collation 二元法,直接比较字符的编码,可以认为是区分大小写的,因为字符集中'a'和'A'的编码是显然不同的

查看字符集和校对集:

show character set;

显示所有的校对集:

show collation;

数据类型:

tinyint unsigned
tinyint:最小型的整数 0-255   
unsigned:无符号数字

显示宽度:整型显示宽度,位数不足时用0填充
int(5) zerofill

浮点型:M是支持的长度,D是小数点后面的位数
float(M,D)
double(M,D)
decimal(M,D)

字符串类型:
CHAR(M) M为自定义的字符串长度,固定占M个字节,不足的在结尾用空格补齐  为0-255之间的整数
VARCHAR(M) M为0-65535之间的整数 值的长度+1个字节,用来纪记录位长
TINYBLOB 允许长度0-255字节,值的长度+1字节
BLOB 允许长度0-65535字节,值的长度+2字节
MEDIUMBLOB 允许长度0-167772150字节,值的长度+3字节
LONGBLOB 允许长度0-4294967295字节,值的长度+4字节
TINYTEXT 允许长度0-255字节,值的长度+1字节
TEXT 允许长度0-65535字节,值的长度+2字节
MEDIUMTEXT 允许长度0-167772150字节,值的长度+3字节
LONGTEXT 允许长度0-4294967295字节,值的长度+4字节
VARBINARY(M)  允许长度0-M字节的变长字节字符串,值的长度+1字节
BINARY(M)  允许长度0-M字节的变长字节字符串

枚举:当字段属性为枚举时,该字段下的数据则只能为列出数据的其中之一
enum('a','b','c')

集合:当字段属性为枚举时,该字段下的数据则只能从列出数据中选择
set('a','b','c')

布尔类型:bool 储存的值最大为127,最小为-128
True:1 False:0
时间类型字节最小值最大值
DATE41000-01-019999-01-01
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
TIMESTAMP4197001010800012038年的某个时刻
TIME3-838:59:59838:59:59
YEAR119012155

数据属性

无符号数字属性:unsigned
设置默认值:default [默认值]
不允许设置空值:not null
给表字段添加注释:comment ‘注释内容’
查看表的注释show full columns from tablename
自动增长的列、默认从1开始、一般配置主键使用auto_increment
唯一性:unique
主键,代表此列的数值需要是唯一值:primary key
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值