mysql 安装和使用

12

一、什么是数据库

数据库是按照数据的结构来组织,存储,和管理数据的仓库,简而言之,就是存放数据的仓库

二、数据库和SQL是什么关系?

数据库里面放着数据,而SQL是用来操作数据库里数据的语言(工具)。

 

三、数据库的分类
(1)关系型数据库
关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,
对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算
来实现数据库的管理。主要是以下几个:
Oracle,mysql,SQLServer,SQLite

介绍:

Oracle 是一个关系型数据库管理系统是最挣钱的数据库,出自甲骨文公司,市场占有率非常高,功能非常强
大,被一些大型企业,电信,银行,证券公司所使用。
MySQL 是一个关系型数据库管理系统 ,MySQL 目前最流行的开源数据库。
SQLServer , 微软开发的数据库,仅支持 Windows 操作系统,号称是 windows 上最好用的数据库。
SQLite ,最流行的嵌入式数据库,占领手机行业的绝对领导者地位, Android IOS 两大手机系统,都内嵌
SQLite 数据库, SQLite 是一个完整的关系型数据库,支持标准 SQL ,支持事务操作,程序包非常小,是嵌
入式设备的最佳选择。

(2)非关系型数据库

NoSQL ,泛指非关系型的数据库 ,NoSql 数据库在特定的场景下可以发挥出难以想象的高效率和高性能,它是
作为对传统关系型数据库的一个有效的补充。比较有名的有:
MongoDB,Redis

介绍:

MongoDB ,最好用的文档型数据库,是 NOSQL 类型数据库的领导者之一,也是当前最成功的 NoSQL 类型数据
库,数据存储格式采用 JSON 形式,非常灵活。
Redis ,最好的内存级数据库,查询效率极高,并且在 Redis 3.0 之后,支持多种数据类型, String

 

四、MySQL 的安装配置

(1)安装配置

(2)安装问题说明

五、sql 语句的分类
DQL: 数据查询语言,用于对数据的查询, select
DML: 数据操作语句,用于修改数据库中的数据,包括插入 (INSERT) 、更新 (UPDATE) 和删除 (DELETE)
DDL: 数据定义语言,用于创建、修改、和删除数据库内的数据结构
DCL: 数据控制语言,用于对数据库的访问,如: 1 :给用户授予访问权限( GRANT ;2 :取消用户访问权限
REVOKE

5.1:表字段数据类型

MySQL 支持多种类型,大致可以分为三类:数值、日期 / 时间和字符串 ( 字符 ) 类型
5.1.1:整型

 

5.1.2:浮点型(float double)

设一个字段定义为 float(5,3) ,如果插入一个数 23.45678, 实际数据库里存的是 23.457 ,但总个数还以实际为准,即 5 位。

 

5.1.3:字符串(char,varchar,text)

char varchar
VARCHAR CHAR 两种字符型数据类型相比,最大的差异就是前者是可变长度,而后者则是固定长度。在存储时,前者会根据实际存储的数据来分配最终的存储空间。而后者则不管实际存储数据的长度,都是根据CHAR 规定的长度来分配存储空间

5.1.4:时间/日期

若定义一个字段为 timestamp ,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

 

5.2数据类型的属性

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL , 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
AUTO_INCREMENT 定义列为自增的属性,一般用于主键,数值会自动加 1
PRIMARY KEY 关键字用于定义列为主键。为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,
主键也是一个特殊索引。 您可以使用多列来定义主键,列间以逗号分隔。
UNIQUE KEY 的用途:主要是用来防止数据插入的时候重复的
CHARSET 设置编码

 

5.3DDL

(database defination language) 数据库定义语言
(1) 创建数据库
在登陆 MySQL 服务后,使用 create 命令创建数据库,
create database 数据库名 ;
create database 数据库名 character set utf8;
(2) 选择数据库
在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库
use 数据库名 ;
(3) 查询建立数据
查看数据库创建细节
show create database 数据库 ;
(4) 删除数据库
删除创建的数据库
drop database 数据库 ;
(5) 创建表
create table 表名 ( 字段 类型 , 字段 类型 ....)
例子:
create table student (
id int PRIMARY key auto_increment ,
name varchar ( 20 ),
sex varchar ( 20 ),
age int ,
salery float ( 6 , 2 ),
birthday date )
(6) 查看表的创建细节
show create table student;
(7) 展示表结构
desc student;
(8) 添加表字段
在原有的学生基础上添加 address
alter table student add address varchar(20);
(9) 修改表字段
在原有的学生基础上修改 address
alter table student MODIFY address varchar(125);
(10) 删除 表字段
在原有的学生基础上删除 address
alter table student drop address;
5.4: DML
(1) 新增数据
单条 :insert into 表名 values( 字段值 , 字段值 , 字段值 .....)
例子:insert into student values(1,' 张三 ',' ',18,389.10,'1999-10-10');
多条: insert into 表名 values(字段值 , 字段值 , 字段值 .....),( 字段值 , 字段值 , 字段值 .....);
例子: insert into student values(2,' 李四 ',' ',19,1389.10,'2000-10-10'),(3,' ',' ',20,3389.10,'2001-10-10');
(2) 添加表字段
在原有的学生基础上添加 address
alter table student add address varchar(20);
(3) 修改数据
UPDATE 表名 SET 字段 1= 1, 字段 2= 2,…, 字段 n= n [WHERE 条件 ];
例子: update student set name = ' 马超 ' , salery = 3456 , birthday = "2003-02-12" where id = 2 ;
(4) 删除数据
单条: delete from 表名 where 条件 ;          全部: delete from 表名
例子:delete from student where id=1;
5.1:DQL
数据查询语言,用于对数据的查询
(1) 查询表中的具体字段数据
SELECT 字段 1, 字段 2.. 字段 n FROM 表名 ;
(2) 查询表中的全部数据
SELECT * FROM 表名 ;
(3) 条件查询
SELECT * FROM 表名 where 条件 ;
3.1:按关系运算符筛选
等于 =
大于 >
大于等于 >=
小于 <
小于等于 <=
不等于 !=
3.2:逻辑运算符筛选
and
or
not
3.3:in 的使用
(4) 模糊查询
select * from where 字段 like ‘% 匹配数据 %’;
(5) 排序查询(默认是正序)
select * from 表名 order by 字段 ;
(6) 分组查询
select * from 表明 group by 字段 ;
select * from 表明 group by 字段 having 条件 ;
(7) 分页查询
select * from table limit m,n;
补充:
其中 m 是指记录从 m+1 开始 ,N 代表取 n 条记录
select * from student limit 2,4
即取出第 3 条至第 6 条, 4 条记录
(8) 聚合函数
 
count( 个数 ) sum (求和)、 avg (平均)、 max (最大)、 min (最小)等

 

五、多表设计

(1)一对一

1个表对另一个表有关联关系。

(2)一对多

指的是一个实体的某个数据与另外一个实体的多个数据有关联关系, 一对多的关系在设计的时候,需要设计
表的外键

(3)多对多

创建一个中间表,链接多个表,专门用来维护多表之间的对应关系,通常是能够唯一标识出数据的字段(主键) 。

六、连接查询

内连接(inner join/外连接(left join / right join)

两个表连接:select 1. 字段,表 2. 字段 from 1 inner/left/right join 2 on 1. 字段 = 2. 字段 where 条件

三个表连接:select 表1.字段,表2.字段,3.字段 from 1 inner/left/right join 2 on 1.字段 = 表2.字段 inner/left/right join 3 on 1.字段 = 3.字段 where 条件

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值