MySQL基础

MySQL基础

数据库概念

数据库

​ 按照数据结构来组织、存储和管理数据的仓库.保存有组织的数据的容器(通常是一个文件或一组文件),简称DB。

数据库管理系统

① 专门用于管理数据库的计算机系统软件;

② 能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并对数据完整性、安全性进行控制;

③ 我们一般说的数据库,就是指的DBMS;

数据库发展

关系数据库技术阶段:
经典的里程碑阶段。代表DBMS:Oracle、DB2、MySQL、SQL Server、SyBase等

关系型数据库存在数据模型,性能,拓展伸缩性的缺点,出现了:
ORDBMS:面向对象数据库技术。
NoSQL :结构化数据库技术,非关系型数据库。


MySQL数据库安装

  1. 安装:新建一个空白文件夹,文件夹路径不要有中文 ,文件夹名称不要有特殊字符

  2. 验证是否安装成功:
    cmd 输入mysql -uroot -p密码(条件:①启动服务 ②配置了环境变量)

  3. 通过命令启动mysql服务:
    以管理员身份运行cmd
    停止服务 net stop 服务名称
    启动服务 net start 服务名称

  4. 命令:
    查看所有数据库:show databases;
    使用某个数据库: use 数据库名;
    查看数据库中所有的表: show tables;
    退出:exit或者ctrl+c;

  5. 常用类型

    常用的类型匹配
    java 数据库(mysql)
    int Integer int
    long bigint
    float float
    double double
    String char varchar text longtext
    Date datetime
    boolean bit


表的特点和常用术语

表具有固定的列和不定的行,在数学上称为”关系”;
二维表是同类实体的各种属性的集合,每个实体对应于表中的一行,在关系中称为元组,相当于通常的一条记录;表中的列表示属性,称为Field,相当于通常记录中的一个数据项,也叫列、字段

表的约束

用来约束表的字段或者表的结构

  1. 主键约束 非空且唯一 对每一行记录的唯一标识

  2. 外键约束 相当于是另一张表的主键 ,用来两张表做关联

  3. 非空约束 不能为空

  4. 唯一约束 不能重复

表的查询

语法:

语法:
SELECT {*, column [alias],...}
FROM	table_name; 
说明:
SELECT  选择查询列表
FROM 	提供数据源(表、视图或其他的数据源)
如果为 * 和创建表时的顺序一致。匹配所有的字段
可以自己调整顺序,在select后边加上要查询的列名。

select 列名 from 表名 (*代表所有表)
去重 distinct
数学运算 + - * / ()会提高优先级
逻辑运算 not and or
concat 连接
比较运算 < > =… !=(<>)
别名 as 。。。别名 as可以省略

过滤查询

语法

SELECT 		 <selectList> 
FROM		table_name
WHERE		条件1 AND/OR 条件2;
范围查询

语法

SELECT <selectList>
FROM table_name
WHERE 列名 BETWEEN minvalue AND maxvalue:闭区间。
集合查询

使用IN运算符,判断列的值是否在指定的集合中。
语法:

SELECT <selectList>
FROM table_name
WHERE 列名 IN (值1,值2....);
空值查询

IS NULL:判断列的值是否为空。
语法:

WHERE  列名 IS  NULL;

注意 : 列的值是 null 和空字符串不一样,如果是空字符串 应该 = “”

模糊查询

使用LIKE运算符执行通配查询,查询条件可包含文字字符或数字:
%:通配符:可表示零或多个任意的字符。
_:通配符:可表示任意的一个字符。
通配符:用来实现匹配部分值得特殊字符。

结果排序

使用ORDER BY语句将结果的记录排序:
ASC : 升序,缺省–不写默认。
DESC: 降序。
ORDER BY 语句出现在SELECT语句的最后。
语法:

SELECT <selectList> 
FROM table_name
WHERE 条件
ORDER BY 列名1 [ASC/DESC],列名2 [ASC/DESC]...;
分页查询

分页设计:
假分页(逻辑分页): 把数据全部查询出来,存在于内存中,翻页的时候,直接从内存中去截取。
真分页(物理分页): 每次翻页都去数据库中去查询数据。

假分页: 翻页比较快,但是第一次查询很慢,若数据过大,可能导致内存溢出.
真分页: 翻页比较慢,若数据过大,不会导致内存溢出.

语法:

SELECT * FROM table_name LIMIT ?,?;
SELECT * FROM table_name LIMIT beginIndex,pageSize;
beginIndex = (currentPage-1) * pageSize;
第一个?: 表示本页,开始索引(从0开始).
第二个?: 每页显示的条数
聚集函数

定义:聚集函数作用于一组数据,并对一组数据返回一个值。
COUNT:统计结果记录数,如果列的值为null,不会计算在内的
MAX: 统计计算最大值
MIN: 统计计算最小值
SUM: 统计计算求和
AVG: 统计计算平均值 如果列的值为null 不会计算在内的

分组查询

可以使用GROUP BY 语句将表中的数据分成若干组,再对分组之后的数据做统计计算,一般使用聚集函数才使用GROUP BY.

分组 group by (如果和having联合使用时先分组后过滤 和where先过滤后分组)
语法格式:

SELECT  聚集函数或者分组的列
FROM table_name  
WHERE 条件
GROUP BY 列名
HAVING 分组之后的条件;

注意:GROUP BY 后面的列名的值要有重复性分组才有意义;
使用HAVING字句,对分组之后的结果作筛选;
不能在 WHERE 子句中使用组函数(注意);
可以在 HAVING 子句中使用组函数;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值