Bootstrap

数据库管理语句分类

1. SQL语句概述

它是一种对关系型数据库中的数据进行定义和操作的语言,是大多数关系数据库管理系统所支持的工业标准语言。

1.2 SQL语句的分类

分类说明涉及语句
DDL数据定义语言create(创建),alter(修改),delete(删除)等
DCL数据控制语言grant(授权),revoke(权限回收),commit(提交),rollback(回滚)
DML数据操作语言

insert,delete,update

DQL数据查询语言select

2. 数据库服务字符设置

1. 为什么要有字符设置?

避免出现中文乱码

2. 数据库常用字符编码以及区别?

utf8:不支持表情符号,最多存储3字节长度字符

utf8mb4:支持表情符号,最多存储4字节长度字符

3. 数据库如何设置字符编码?

查看目前字符编码设置

show variables like '%char%';

全局调整字符集

局部调整字符集

4. 配置字符编码会和上一个校验码?

如何对库设置校对规则

如何对表设置校对规则

## 全局调整字符编码
vim /etc/my.cnf
[mysqld]
character-set-server=utf8

## 局部调整字符编码
create database xiaoA charset utf8;

##对库设置校对规则
create database xiaoB charset utf8 collate utf8_general_mysql500_ci;
##对表设置校对规则


##测试校对规则的不同效果
create table t1(info char(3)) charset utf8mb4 collate utf8mb4_0900_ai_ci;
create table t3(info char(3)) charset utf8mb4 collate utf8mb4_0900_as_cs;
create table t2(info char(3)) charset utf8mb4 collate utf8mb4_bin;

insert into t1 values ('a'),('A'),('b'),('B'),('c'),('C');
insert into t2 values ('a'),('A'),('b'),('B'),('c'),('C');
insert into t3 values ('a'),('A'),('b'),('B'),('c'),('C');

select * from t1 where info='a'; #不区分大小写 显示a,A
select * from t2 where info='a'; ##区分大小写 显示a

3. 数据库服务数据类型

MySQL数据类型含义
char固定长度,最多255字符
varchar可变长度,最多65535字符
longtext可变长度,最多2的32次方-1个字符,存储评论信息
tinyint1个字节

int

4个字节
bigint8个字节
float单精度浮点类型
enum枚举类型

3.2 数据库属性约束设置

约束含义
PK主键约束,非空且唯一,表中只能有一个主键
UK唯一约束
NN非空约束
FK外键约束,多表之间关联使用

属性含义
default设置默认数据信息,可以实现自动填充

auto_increment

设定数值信息自增,可以实现数值编号自增填充
comment注释信息

unsigned

设定数值信息非负。

数据库外键知识说明 ---FK

一张表的一个字段(非主键)指向另外一个表的主键,那么该字段就称为外键。

## 增加外键 方式一
create table class(id int primary key auto_increment,name varchar(10) not null comment "班级名字,不能为空", room varchar(10) comment "教室,允许为空") charset utf8;

create table student( id int primary key auto_increment, number char(10) not null unique , name varchar(10) not null , c_id int, foreign key(c_id) references class(id)) charset utf8;

##方式二
alter table 表名 add constarint 外键名 foreign key (外键字段) references 父表 (主键字段)

## 删除外键
alter table 表名 drop foreign  key  外键名;

##查看外键
desc 表名字;

;