数据库MYSQL笔记持续更新

学生在线笔记

数据库

开源 性能强劲 便于安装
数据库对象:储存,管理和使用数据的不同结构形式,包含表,视图,储存过程函数,触发器、事件

DB

​ 数据库 ( database ): 存储数据的‘仓库’,他保存了一系类有组织的数据
发展史:人工管理阶段 → 文件系统阶 → 数据库系统阶段
概念: 数据库是长期储存在一起的互相有联系的数据集合,数据是集成的、可共享的、最小冗余的 能为多种应用服务的

DBS

数据库系统(Database System)
组成: 数据库(数据) 数据库管理系统(软件) 数据库管理员(人员) 系统平台之一(硬件平台) 系统平台之二(软件平台)
这五部分构成一个以数据库为核心的完整的运行实体

DBA

  数据库管理员(Database Administrator)
 由于数据库的共享性,因此对数据库的规划 设计 维护 监视 等需要有专人管理,称他们为数据库管理员                               

DBMS

​ 数据库管理系统 ( Database Management System )
是一种系统软件,负责数据库中的 数据组织、数据操作、数据维护、控制以及保护和数据服务等,为提供数据服务提供相应的数据语言
​ 数据库是通过DBMS创建和操作的容器,用于管理DB中的数据
​ 常见的数据库管理系统:MYSQL 、Oracle 、DB2 、sqlServer

SQL:

​ 结构化查询语句 ( structure Query Language )

​ 专门用来与数据库通信的语言,几乎所有DBMS都支持SQL

SQL的分类

  1. DQL 数据查询语言(凡是带有select关键字的都是查询语句) select
  2. DML 数据操作语言(凡是对表当中数据进行增删改的都是DML) 增:delete 删:insert 改:update 主要操作的是表的数据
  3. DDL 数据定义语言(凡是带有 新建:create 删除:drop 修改:alter 的都是DDL)主要操作的是表的结构,不是表中数据
  4. TCL 事务控制语言 (事务提交:commit 事务回滚:rollback)
  5. DCL 数据控制语言 (授权:qrant 撤销权限:revoke )

一、数据库的简单操作

在使用MySQL之前确保MySQL服务是否处于开启状态

     1.在DOS窗口中输入 **net start**    查看           在DOS窗口中输入 **net start MySQL** 开启服务
     2.鼠标右击我的电脑图标,选择 管理  找到 服务 单击此时可以对MySQL服务进行  开启 或 关闭

查看数据库

show databases;

创建数据库并指定字符集

create database db_name
[default] character set 字集符
[default] collate 校对规则;

创建数据库之前,先查看是否有该数据库

修改数据库字集符

alter database db_name
[default] character set 字集符
[default] collate 校对规则;

常用的字集符、校对规则

字集符:gb2312 utf8
校对规则:gb2312_chinses_ci utf8_general_ci

查看所有字集符

 1.show charset ;
 2.show character set ;

查看数据库字符集

show create database db_name;

选择数据库

use db_name;

选中的数据库,在系统软件中要存在

删除数据库

drop database db_name;

数据库命名规则(标识符)

1.组成部分:字母A—Z 数字 0—9 下划线_ $符号
2.不能纯数字组成,数字的命名尽量不要使用,因为数字命名的不具有可读性
3.不能是MySQL的关键字
4.名字的长度不能超过128字节
5.多个单词组成的,要用下划线隔开
6.中文命名也可以,但是不常用

DOS连接MySQL数据库

mysql -u 用户名 -p 原始密码

修改数据库密码

mysqladmin -u用户 -p 原密码 password 新密码

打开注册表

DOS 输入 regedit

3306

基础查询:

​ 插询列表可以是:表中字段、常量值、表达式、函数

​ 查询结果是一个虚拟的表格
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
起别名
在这里插入图片描述
在这里插入图片描述

去重

在这里插入图片描述

+ 号的作用

​ 仅作为运算符使用

​ 数值型+数值型,则做加法运算

​ 只要其中一方为字符型,试图将字符型数值转换成数值型,如果转换成功,则继续做加法运算如果转换失败,则将字符型数值转换成0

​ 只要其中一方为NULL,则结果肯定为NULL
在这里插入图片描述

条件查询:

​ 条件运算符:> < = != >= <=
在这里插入图片描述
逻辑运算符:&& || ! and or not 用于连接条件表达式
在这里插入图片描述
在这里插入图片描述

模糊查询

​ Like : 和通配符搭配使用,

​ % :任意多个字符,包含0个字符

​ _ :任意单个字符

​ escape 作为转译,’$’ $可任意取其他字符
在这里插入图片描述
between and:包含临界值 且 俩个临界值不能调换位置
在这里插入图片描述

判断某字段的值是否属于in列表中的某一项, In列表的值类型必须一致或者兼容并且不含有通配
在这里插入图片描述=或!=不能用于判断NULL值 is null 或is not null可以判断NULL值
在这里插入图片描述
<=>:安全等于,可以判断NULL值,但不建议使用,理解不清是等于还是不等于
在这里插入图片描述

排序查询

asc代表的是升序,可以省略
desc代表的是降序

order by子句可以支持 单个字段、别名、表达式、函数、多个字段

order by子句在查询语句的最后面,除了limit子句
在这里入图片描述
在这里插入图片描述

常见函数

概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名
好处:隐藏了实现细节 ,提高代码的重用性
调用:select 函数名(实参列表) 【from 表】;

分类:
1、单行函数
concat、length、ifnull等
2、分组函数

​ 功能:做统计使用,又称为统计函数、聚合函数、组函数

字符函数

length 获取参数值的字节个数

concat 拼接字符串

upper 变大写

select upper(字段名) from 表;

lower 变小写

select lower(字段名) from 表;

在这里插入图片描述

substring(被截取得字符串,起始下标,截取的长度)

注:起始下标从1开始,没有0
在这里插入图片描述
截取从指定索引处后面所有字符
在这里插入图片描述
截取从指定索引处指定字符长度的字符
在这里插入图片描述

instr 返回子串第一次出现的索引,如果找不到返回0

在这里插入图片描述

trim 去除子串中前后的空格或字符

在这里插入图片描述
在这里插入图片描述

lpad 用指定的字符实现左填充指定长度

在这里插入图片描述

rpad 用指定的字符实现右填充指定长度

在这里插入图片描述

replace 替换

在这里插入图片描述

数学函数

round 四舍五入

在这里插入图片描述
round(数值,保留数值整数位数)
在这里插入图片描述

ceil 向上取整,返回>=该参数的最小整数

在这里插入图片描述

floor 向下取整,返回<=该参数的最大整数

在这里插入图片描述

truncate 截断

在这里插入图片描述

mod取余

mod(a,b) : a-a/b*b
在这里插入图片描述

日期函数

now 返回当前系统日期+时间

select now();

curdate 返回当前系统日期,不包含时间

select curdate();

curtime 返回当前时间,不包含日期

select curtime();
可以获取指定的部分,年、月、日、小时、分钟、秒
在这里插入图片描述

分组函数

多行处理函数,特点:输出一行最终输出一行
五个:
sum 和值
avg 平均值
count 计数
max 最大值
min 最小值
注意:
分组函数在使用时必须先进行分组,才能用。
如果你没有对数据进行分组,整张表默认为一组

分组函数在使用时注意事项:
  1. 分组函数会自动忽略NULL,不用提前处理NULL。
  2. 分组函数中 count(*) 与 count(具体字段) 有什么区别
    count(具体字段) : 表示统计该字段下所有不为NULL的元素的总数
    count( * ) : 统计表当中的总行数 (只要有一行数据 count则++)
    因为每一行数据不可能都为NULL,一行数据中有一列不为NULL,则这行数据就是有效的
  3. 分组函数不能直接使用在where子句中
  4. 所有分组函数可以组合起来一起使用
			select min(具体字段),max(具体字段),count(具体字段),avg(具体字段) from

分组查询

对数据进行分组,然后对每一组数据进行操作
select
	...
from
	...
where
	...
group by
	...
order by
	...
执行顺序: from--> where --> group by --> select --> order by
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值