数据库
- 数据库的基本概念
- 什么是数据库
- 常见的数据库和分类
- 数据库的数据组织结构
- 实际开发中库,表,行,字段的关系
- MySQL相关的软件
- MySQL Workbench创建数据库
- 创建数据表
- 设计表字段
- 字段的特殊标识
- 向表中插入数据
- 使用SQL管理数据库
- 什么是SQL
- SQL能做什么
- SQL语句
- SELECT,查询
- INSERT INTO 新增
- Update 修改
- DELETE ,删除表中的行
- WHERE子句, 限定选择的标准
- WHERE子句的运算符
- SQL的AND和OR运算符
- SQL的ORDER BY语句,用于排序
- SQL的ORDER BY语句,多重排序
- SQL的COUNT(*)函数,返回查询结果的总数据条数
- SQL的AS,为列设置别名
- 打开和保存文件
数据库的基本概念
什么是数据库
- 数据库是用来组织,存储和管理数据的仓库
- 为了方便管理互联网世界中的数据,就有了数据库管理系统的概念,用户可以对数据库中的数据进行新增,查询,更新,删除等操作
常见的数据库和分类
- MySQL数据库
- Oracle数据库
- SQL Server数据库
- Mongodb数据库
- 前三者属于传统型数据库(关系型数据库或SQL数据库)
数据库的数据组织结构
- 和Excel结构相似
- 传统型的数据结构分为,数据库,数据表,数据行,字段,这4大部分
实际开发中库,表,行,字段的关系
- 在实际开发中,一般,每个项目都对应独立的数据库
- 不同的数据,要存储在数据库的不同表中,类似,用户数据存在user表,图书数据存在book表
- 每个表中具体存储哪些信息,由字段来决定,类似。用户user表,可以设计id,username,password这三个字段
- 表中的行,代表每一条具体的数据
MySQL相关的软件
-
MySQL Sever,专门用来提供数据存储和服务的软件
-
MySQL workbench 可视化的MySQL管理工具
-
安装软件百度一下,这边复制一下我搜索到的
安装过程 -
运行进来点击输入密码连接成功后进入主界面
-
可以控制界面的隐藏和显示
-
切换真正的数据库列表
MySQL Workbench创建数据库
- 数据库名不能输入中文
- 例如,我新建的是my_db_01数据库
创建数据表
设计表字段
字段的特殊标识
- 想要哪种,勾选即可
- PK(Primary Key),主键。唯一标识
- NN(Not NULL),值不允许为空
- UQ(Unique)值唯一,类似张三的名不能重复
- AI(Autoincrement)值自动增长,类似id值自动增长
- 表创建成功
向表中插入数据
- apple后id和状态就会自动填充好
使用SQL管理数据库
什么是SQL
- SQL是结构化查询语言,专门用来访问和处理数据库的编程语言,能够让我们以编程的形式,操作数据库里面的数据
- 关键点:
- SQL是一门数据库编程语言
- 使用SQL语言编写出来的代码,叫做SQL语句
- SQL语言只能在关系型数据库中使用,非关系型不支持SQL语言
SQL能做什么
- 增删改查数据库的数据
- 也可以创建数据库,创建数据表,创建存储过程等
SQL语句
SELECT,查询
- SELECT语句用于从表中查询语句,执行的结果要被存储在一个结果表中(称为 结果集)
- sleect语句中对大小写不敏感
-- 从FROM指定的【表中】,查询出【所有的】数据,*表示【所有的】
SElECT * FROM 表名称
select * from users
-- 从FROM指定的【表中】,查询出指定 列名称(字段)的数据
SElECT 列名称,列名称 FROM 表名称
select username,password from users
INSERT INTO 新增
- 注意:字段名要拼写正确
- 语句用于向数据表中插入新的数据行
insert into 表名(字段名,字段名2) values("字段名的值","字段名2的值")
insert into users(username,password) values("罗曼蒂克","888888")
- 再次查询
Update 修改
UPDATE 表名称 set 列名称 = 新值 where 列名称 = 某值
-- 将id为2的用户密码和用户状态,修改为666666和1,也就是更新某一行的若干列
UPDATE users set password = '666666',status=1 where id = 2;
DELETE ,删除表中的行
- 初学者容易忘加where条件,导致误删整张表
DELETE FROM 表名称 WHERE 列名称=值
-- 删除id=3的用户
delete from users where id=3;
WHERE子句, 限定选择的标准
- WHERE子句用于限定选择的标准
- 在SELECT,UPDATE,DELETE语句中,皆可使用WHERE子句来限定选择的标准
--类似
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
WHERE子句的运算符
- = 等于
- <>或者!=表示不等于
- .> 大于
- <小于
- .>=大于等于
- <=小于等于
- BETWEEN在某个范围内
- LIKE搜索模糊匹配
-- 查询用户名不等于王大海的所有用户
select * from users where username<>'王大海';
select * from users where username!='王大海';
SQL的AND和OR运算符
- and 和 or 可在where语句中把两个或多个条件结合起来
- and表示必须同时满足多个条件、
- or 表示多个条件里面满足一项即可
-- 使用and来显示所有status=0,并且id小于6的所有用户
select * from users where status=0 and id<6
-- 使用and来显示所有status=0,或者id小于6的所有用户
select * from users where status=0 or id<6
SQL的ORDER BY语句,用于排序
- 用于根据指定的列对结果进行排序
- 默认升序进行排序,asc,表示升序排序
- 降序对记录进行排序,可以使用DESC关键字
-- 按照id对列表进行升序排序
-- select * from 表名 order by 按照的字段名
select * from users order by id
-- 按照id对列表进行降序排序
select * from users order by id desc
SQL的ORDER BY语句,多重排序
- 逗号分隔
-- 多重排序,对users的表先按照status字段进行降序排序,再按照username的字母升序排序,进行升序排序、
select * from users order by status desc,username asc
SQL的COUNT(*)函数,返回查询结果的总数据条数
-- 返回status=0的总数据条数
select count(*) from users where status=0
SQL的AS,为列设置别名
-- 对查询出来的列名设置别名,可以使用AS关键字
select count(*) AS total from users where status=0
-- 从FROM指定的【表中】,查询出指定 列名称(字段)的数据,并指定别名
select username as name,password as word from users
- 总计
-- 从FROM指定的【表中】,查询出【所有的】数据,*表示【所有的】
-- select * from users
-- 从FROM指定的【表中】,查询出指定 列名称(字段)的数据
-- select username,password from users
-- 向数据表中插入新的数据行
-- insert into users(username,password) values("罗蒂克","888888");
-- 将id为2的用户密码和用户状态,修改为666666和1,也就是更新某一行的若干列
-- UPDATE users set password = '666666',status=1 where id = 2;
-- 删除id=3的用户
-- delete from users where id=3;
-- 查询用户名不等于王大海的所有用户
-- select * from users where username<>'王大海';
-- 使用and来显示所有status=0,并且id小于6的所有用户
-- select * from users where status=0 and id<6
-- 使用and来显示所有status=0,或者id小于6的所有用户
-- select * from users where status=0 or id<6
-- 对列表进行降序排序
-- select * from users order by id desc
-- 多重排序,对users的表先按照status字段进行降序排序,再按照username的字母升序排序,进行升序排序、
-- select * from users order by status desc,username asc
-- 返回status=0的总数据条数
-- select count(*) from users where status=0
-- 对查询出来的列名设置别名,可以使用AS关键字
-- select count(*) AS total from users where status=0;
-- 从FROM指定的【表中】,查询出指定 列名称(字段)的数据,并指定别名
-- select username as name,password as word from users