什么是数据库
数据库:存储数据以及数据结构的仓库,称为DB
注意:数据结构比数据更为重要 数据结构不合理 数据库也会慢
① 数据库本身是透明的空的

image-20211007104529267.png
② 数据库是需要管理的 :数据库管理系统 作用就是 管理数据
什么是数据库管理系统
专门管理数据库的,称为DBMS phpmyadmin
谁去管理
用户
数据库系统包含:
** 用户 User
数据库管理系统 DBMS
数据** DB
数据库的作用
帮助 查询 存储 管理 数据的
数据库的本质
数据库的本质是一个二维数组的表格,和excel是一样的
1 表名: 对应的是每一个实体,按照对象的概念来划分,
① teacher_table
② student_table
③ message_table
④ course_table
2 属性: 字段
数据库的种类
1 关系型数据库:mysql sql Server oracle db2
2 非关系型 (现在不用了) redis
1 mysql 登录和退出
mysql [-h] -u -p
mysql -u root -p 123456
exit 退出
quit
2 查看辅助信息
select now(); 查看 当前时间
select curdate(); 当前日期
select curtime(); 当前时间
select version(); mysql版本
select user(); 查看用户
3 数据库和数据类型
① show database:显示数据库
② create database 数据库名称:创建数据库
③ drop database 数据库名称:删除数据库
④ use 数据库名称
4 数据表
create table 数据表名称(
列定义
列名称 类型 【默认值】【auto_increment自增长】
【主索引 primany key】
列名称 类型 【默认值】
列名称 类型 【默认值】
列名称 类型 【默认值】
......
)
5 Mysql 数据类型
1 整型 | |||
---|---|---|---|
tinyint | 1 字节 | 有符号 | -128===>127 |
无符号 | 0===>225 | ||
smallint | 2字节 | 有符号 | -32768===>32767 |
无符号 | |||
int | 4字节 | 有符号 | -2147483648===>2147483647 |
无符号 | 0===4294967295 | ||
bigint | 8字节 | ||
2 浮点 | |||
float | 4字节 | 会丢失字节 | |
double | 4字节 | 会丢失字节 | |
DECIMAL[m,d] | 精度小数 | ||
3 字符 | |||
char | 定长字符 | 255 只有一个字符也占255 | |
varchar | 变长字符 | 0-255 | |
text | 65535个字符 | 评论 文章 | |
MEDIUMBLOB | 2的24次方 | ||
enum(val1,val2,val3) | 列枚举 | 只能取其中一个 sex | |
4时间日期 | |||
DATE | 日期 | ||
DATETIME | 时间 | ||
time | 日期时间 |
6 创建表
create table stu(
id int(6) auto_increment primany key,
stuNum varchar(6),
stuName varchar(20),
stuAge tinyint(2),
stuSex enum("1","2"),
stuTel varchar(20)
)
查看表 show table
查看表结构 desc 表名称
SQL 命令的DDL操作
1 表添加字段
alter table 表名称 add 列定义
alter table stu add email varchar(20);
2 修改字段
alter table 表名称 change 旧字段名称 新字段定义
alter table stu change email stuEmail varchar(20);
3 删除字段
alter table 表名 drop 字段名
alter table stu drop student
4 修改表名称
alter table 表名 rename 新名字
alter table stu rename student
5 删除表
drop table 表名称
drop table student
SQL命令的DML操作(增删改查)
1 增
insert into 表名称(字段1,字段2,字段3,...)values(val1,val2,val3);
2 删
delete from 表名称 where 条件
3 改
update 表名称 set 字段=值,字段=值,字段=值,... where id=3;
4 查
select * from 表名
完整格式
select 字段列表 form 表名称[where 条件][order by 字段 asc/desc][limit 起始位置,长度][group by 字段名称(分组)]
查找多个字段
select 字段名,字段名,字段名...from 表名称(查询指定字段)
别名
可以给字段名或表名起别名,别名的作用 字段简单 方便调用
select StuNum as Stn, StuName as Sn from student as Sd;
order by
asc 升序
desc 降序
select * from student order by id desc;
select * from student order by pid asc;
limit
limit 起始位置,长度 用于分页 首页
select * from student limit 1,3(从第二条开始截取 截取3条);
select * from student limit 4,4 (从第五条开始截取 截取4条)
倒序截取
select * from student order by id desc limit 0,4;
group by 分组
select * from books group by TypeId 按类型id分组
分组之后,每组种的记录都会取1条
where 条件
1 比较 < > <= >= =
select * from books where id=100;
select * from books where pid>100;
2 逻辑运算 and or
select * from books where bid>100 and bid<110;
3 模糊搜索
字符种含有某个关键词就能找到 like %关键词% 表示任意字符