MySQL数据库的学习笔记

一、数据库的介绍

数据库(Database),又称为数据管理系统。就是存储和管理数据的仓库。
每个数据库都有多个不同的API用来进行对数据的增删改查操作。

常见的关系型数据库(RDBMS )

什么是关系型数据库?
就是建立在关系模型基础上的数据库,借助集合代数等数学概念和方法来处理数据库中的数据。
关系模型就是简单的二维表格模型。表之间有可能存在关联,关联方式有一对一、一对多、多对多。

  • 以数据表的形式存储数据;
  • 数据表由行和列的组合形式来存储一组实例;
  • 表头是每一列的名称(字段);
  • 每列是对应每个字段的数据集合;
  • 每行是用来描述具体人/物的具体信息;
  • 用主键来标识某个特定的人/物的信息,主键是唯一的;
  • 多张表形成数据库(database);


    image.png

常见的关系型数据库
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的路径添加带环境变量中去。

image.png

image.png

4、安装数据库
     a.找到CMD以管理员的身份运行
     b.进入到安装的根目录下/bin下
     eg:
image.png

     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:

createDatabase.png

注:①数据库名称必须是英文
选择数据库
在连接到MySQL数据库后,可能有多个可以操作的数据库,所以选择一个需要操作的数据库,语法如下:

use 数据库名;

eg:

use testdb;

MySQL 删除数据库
删除数据库需要使用最高权限,需要使用root用户登录连接数据库。
删除数据库需要谨慎,因为在执行珊瑚命令后,所有的数据都将消失。

drop database <数据库名>;

MySQL 常用的数据类型
定义数据字段的类型有利于数据库的优化。
MySQL支持多种类型,大致分为三类:数值、日期/时间和字符串。

image.png

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/

你可能感兴趣的:(MySQL数据库的学习笔记)