一、数据库的介绍
数据库(Database),又称为数据管理系统。就是存储和管理数据的仓库。
每个数据库都有多个不同的API用来进行对数据的增删改查操作。
常见的关系型数据库(RDBMS )
什么是关系型数据库?
就是建立在关系模型基础上的数据库,借助集合代数等数学概念和方法来处理数据库中的数据。
关系模型就是简单的二维表格模型。表之间有可能存在关联,关联方式有一对一、一对多、多对多。
- 以数据表的形式存储数据;
- 数据表由行和列的组合形式来存储一组实例;
- 表头是每一列的名称(字段);
- 每列是对应每个字段的数据集合;
- 每行是用来描述具体人/物的具体信息;
- 用主键来标识某个特定的人/物的信息,主键是唯一的;
-
多张表形成数据库(database);
常见的关系型数据库
Oracle、MySQL、Microsoft SQL Server等等。
1、Oracle(甲骨文)
Oracle数据库系统是目前世界上流行的关系数据库管理系。最初是一家专门开发数据库的公司,在数据库领域一致处于领先地位,后转到桌面计算机上,但很多功能是收费的,很多小型公司不选择的原因。
2、MySQL
MySQL是一个开源的关系数据库管理系统,是最常用的数据库管理语言。后被Sun公司收购,Sun又被Oracle收购。特点是体积小、速度快,很多公司选择它大多因为成本低是开源的这一特点。
3、Microsoft SQL Server
SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。
二、MySQL 安装
系统:Windows 10
1、在官网找到下载地址,选择命令行的版本MySQL Community Server
2、解压至需要安装的位置
3、配置环境变量
控制面板→系统和安全→系统→高级系统设置→环境变量,把安装的根目录和根目录/bin的路径添加带环境变量中去。
4、安装数据库
a.找到CMD以管理员的身份运行
b.进入到安装的根目录下/bin下
eg:
c.安装键入→
mysqld -install
d.初始化→
mysqld --initialize-insecure
e.启动MySQL服务→
net start mysql
f.连接数据库→
mysql -u root -p
三、MySQL 数据库的使用
MySQL 连接数据库
mysql -h localhost -port 3306 -u root -p
-h → host 主机名/IP地址
-port → 端口
-u → user 用户名
-p → password 密码
注:
①host默认是localhost,port默认是3306,可以不用写
②登录成功后会出现mysql>命令提示窗口
③使用 exit
来进行MySQL退出
MySQL 创建数据库
在连接了数据库之后,使用 create 命令创建数据库,语法如下:
create database 数据库名;
eg:
注:①数据库名称必须是英文
选择数据库
在连接到MySQL数据库后,可能有多个可以操作的数据库,所以选择一个需要操作的数据库,语法如下:
use 数据库名;
eg:
use testdb;
MySQL 删除数据库
删除数据库需要使用最高权限,需要使用root用户登录连接数据库。
删除数据库需要谨慎,因为在执行珊瑚命令后,所有的数据都将消失。
drop database <数据库名>;
MySQL 常用的数据类型
定义数据字段的类型有利于数据库的优化。
MySQL支持多种类型,大致分为三类:数值、日期/时间和字符串。
MySQL 创建数据表
创建MySQL数据表需要以下信息:
- 表名
- 表字段名
- 定义每个表字段信息(设置每个字段的最大的字节数、设置字段是否为空、设置主键,主键字段是唯一标识,不能重复)
语法如下:
create table <表名> (<字段名> <字段类型>);
注:表名称必须是英文
MySQL 删除数据表
语法如下:
drop table <数据表名>;
MySQL 操作数据表(增删改查)
- 查询
查询整个表
select * from <表名>;
eg:
select * from students;
根据字段名查询
select 字段名1,字段名2,... from <表名>;
eg:
select name,age,sex from students;
条件查询
select * from <表名> where 条件;
eg:
select * from students where age > 18;
多个条件使用and(满足所有条件)、or(满足其中一个即可)等等。
- 新增
insert into <表名> (字段名1,字段名2,...)values (值1,值2,...);
eg:
insert into students (id,name,age) values (10,'小小',23);
- 修改
update <表名> set 字段名1="值1",字段名2="值2" where 条件;
eg:
update students set name="笑笑",sex=0 where name="xiaoxiao";
- 删除
delete from 表名 where 条件;
eg:
delete from students where name="笑笑";
MySQL 多表联查
select 字段名1,字段名2 from <表1> join <表2> on 表关系;
eg:
select c.id,s.name,c.className from classes c join students s on c.id = s.cid;
MySQL 常用的sql语句
- 查询所有数据库
show databases;
- 查询当前数据库的所有数据表
show tables;
- 模糊查询 ,关键字
like
和符号%
,%位置就代表是模糊的位置
select * from <表名> where 字段名 like "值%";
eg:
select * from students where name like "小%";
- 排序,关键字
order by
,倒序desc
select * from <表名> order by 字段名;
eg:
select * from students order by age;
倒序:
select * from students order by age desc;
- 计数/统计,关键字
count(*)
select count(*) from <表名>;
eg:
select count(*) from students;
- 字段别名,关键字
as
select name as "姓名",sex as "性别",phone as "手机号",age as "年龄",education as "学历",className as "班级" from students s join classes c on c.id = s.cid;
- 分组,关键字
group by
eg:利用分组来做统计查询一个班有多少人
select c.id "编号",c.className "班级",count(*) from students s join classes c on c.id=s.cid group by c.id;
- min求最小值
eg:
select min(age) from students;
- max求最大值
eg:
select max(age) from students;
- sum求和
eg:
select sum(age) from students;
MySQL 服务的停止与卸载
停止数据库→net stop mysql
卸载数据库→sc delete mysql
数据库可视化管理工具
navicat、mysql workbench等。
mysql workbench下载地址:https://dev.mysql.com/downloads/workbench/