MySQL数据类型与表操作
一、MySQL的基本认知
1、查看所有数据库
show databases;
2、看当前登录用户转为使用的库:
show database(),user(),now(),version();
3、查看建立数据库的语句代码
show create database d1;
Show create database mysql;
4、将数据库的字符集修改
alter database t character set utf8mb4;
二、创建数据库
1、创建数据库没有指定编码格式
create database d1;
指定编码格式
create database d2 default character set utf8;
如果不存在的数据库则建立数据库,不报错
create database if not exists ‘d3’charset utf8;
三、删除数据库
1、删除数据库
Drop database d1;
2、数据库不存在不报错
Drop database if exists ‘d2’;
Drop database d3;
3、drop、truncate、delete的区别
①drop(删除表):删除内容和定义,删除整个表,
②truncate(清空表中数据):删除内容、释放空间但不删除定义(保留表的数据结构),只是清空表数据,不能删除行数据,要删就把表清空。
③delete(删除表中数据):删除表中的行,【truncate与不带where的delete:之删除数据,不删除表结构】
四、查看字符集信息
1、查看支持MySQL的所有字符集
Show charset;
2、查看当前MySQL开发环境的相关字符集信息
Show variables like ‘char%’;
MySQL之外键、表关系及SQL查询关键字
一、外键 foreign key
多张表之间数据没有关系时,可以使用外键来给表与表之间添加关系
二、表与表之间建立关系
一对多:外键字段建在多的一方
多对多:需要单独开设第三张表存储两张表的关联数据(第三张表也可以不绑定关系)
一对一(或者表之间没有关系):外键字段建在任何一方都可,但建议建在查询率较高的表中,
三、外键约束
1、在创建表的时候,需要先创建被关联表(没有外键字段的表)
2、在插入新数据时,应该先确保被关联表中已存在数据
3、在插入新数据时,外键字段只能填写被关联表中已存在的数据
4、在修改和删除被关联表中的数据时,无法直接操作,如果想要数据之间自动修改和删除,需要添加级联更新(on update cascade)或者级联删除(on delete cascade)。
四、操作关键字(增删改)
修改表名
ALTER TABLE 表名 RENAME 新表名;