MySQL基础1
1.创建数据库
1.创建一个名为tet_db03的数据库,并指定字符集和排序规则。
create database if not exists test_db03 character set utf8mb4 collate utf8mb4_0900_ai_ci
字符集 set utf8mb4
排序规则 collate utf8mb4_0900_ai_ci
2.查看警告信息
show warnings
3.查看当前数据库默认的字符集
show variables like '%character%'
4.删除数据库
drop database if exists test_db03
5.\? 查看mysql客户端的帮助文件
2.数据库基本操作
2.1.数据类型
真实开发场景中字段都会明确之处数据类型及长度
1.数值类型 tinyint int bigint decimal(M,D)
2.字符类型 varchar(M) text
3.日期类型 date datetime
2.2.创建表
1.查看所有的表show tables
2.创建表
create table if not exists 表名 (
字段1 数据类型,
字段2 数据类型
);
3.查看表结构:desc 表名;
4.删除表 drop table student;
2.3.CRUD增删改查
create----创建
retrieve -----检索
Update --- 更新
Delete --- 删除
2.3.1.新增:
1.插入:insert into students (id,name) values (4,'李四');
2.如果对表中的所有的列设置值 insrt into 表名 values (值,值,值),(值,值,值);
3.多行插入:insert into 表名 (列名,列名,列名) values (值,值,值),(值,值,值);
2.3.2.查询:
1.全列查询:select * from 表名: *表示表中的所有列都会被查询到
2.指定列查询: select (列名,列名,列名) from 表名
3.表达式+别名:select 表达式 as 别名 from 表名。
4.去重:select distinct 列名,列名 from 表名; #重复判定的标准:一个数据行的所有列都相等才判定为相同,才可以得到去重的效果
5.排序:select * from 表名 order by 列名 [asc][desc]。#asc(升序)desc(降序)
6.条件查询(where):select * from 表名 where 列名/表达式 比较或者逻辑运算符 [order by]
where的运行顺序:先from 后 where 后 select ,最后是 order by
7.区间查询:select * from 表名 where 列名 between 开始条件 and 结束条件
8.模糊查询:select * from 表名 where 列名 like '%值_' ; ( %可以匹配0或者n个字符,_只能匹配一个字符)
9.分页查询: select * from 表名 limit s,n; s(从第几行开始,为0时可以不写),n(查询几行)
select * from 表名 limit n offset s;
2.3.3.更新:
update 表名 set 列名 = 值 [列名等于值] where 条件 order by 列名 asc | desc limit n;
注:如果不加where,会导致表中的所有记录都被更新,危险操作。
2.3.4.删除:
delete from 表名 where 条件 order by 列名 asc | desc limit n;
3.数据库约束
1.not null非空约束,被指定not null的列,值不允许为空
2.unique唯一约束,这个列里的值在表中是唯一的,不能重复
3.primary key 主键约束,可以看成not null 和 unique的组合,
可以用bigint类型列为表单独指定主键,同时也可以指定主键自增,采用auto_increment关键字
自增操作时,会找到当前列中最大的值,然后在这个基础上加1
4.default默认约束,如果写入一行记录的时候,指定了默认约束的列,如果在写入数据时,没有指定一个确定的值,就会用默认值进行填充该字段的值
5.foreign key 外键约束,一张表要与另一张表的主键或者唯一键进行约束,说明表与表之间的关联关系
4.表的设计(需要满足三个范式)
4.1.第一范式
定义:数据库的每一列都是不可分割的原子数据项。满足第一范式的数据库被称为关系型数据库
4.2.第二范式
定义:在满足第一范式的基础上,不存在非关键字段对任意候选键的部分函数依赖。笑出了部分函数依赖。
概括: 一个表中存在复合主键,当有一列只依赖复合主键中的某一个键,那这种设计就不满足第二范式
不满足第二范式可能出现的问题:a.数据冗余,b.更新异常,c.插入异常,d.删除异常
4.3.第三范式
定义:在满足第二范式的基础上,不存在非关键字段,对任一候选键的传递依赖。
在第二范式的基础上,消除了传递依赖
4.4数据库的关系模型
1.一对一关系。
2.一对多关系
3.多对多关系。
4.5.设计表的过程:
1.通过需求找到实体。
2.确定实体之间的关系。
3.根据不同的关系按照固定的方法去创建表。
更多推荐

所有评论(0)