第7讲 数据库知识

1 数据库

数据库用来存储数据管理数据,英文叫database
分类: 关系型和非关系型
关系型数据库存: 数据之间的关系很紧密,例如:师生关系,部门员工
非关系型数据库存NoSql: 数据之间的关系很松散, 例如:把电脑里的所有的资源存入数据库

2 安装MySQL数据库

1. 安装路径: 不要包含中文或者特殊符号
2. 字符集: 默认是latin1,不认识中文,一定会发生中文乱码现象.要改成utf-8
3. 端口号: 每个软件都有唯一的端口号,其中,MySQL默认是3306
4. 开机服务: MySQL/Mariadb ,要保证访问数据库时服务是开启状态
5. 设置密码: root,也可以自定义
6. 安装 服务器端: 真正存数据的地方
7. 安装 客户端: 连接服务器 , 操作服务器中的数据 , , 新增 删除 修改 查询 / CRUD ,
    相对来说就是对数据的查询动作多
8. 客户端有两种: DOS窗口…可视化的小工具sqlyog

3 SQL语言

用来操作数据库的语言,全称叫结构化查询语言.

分类:
DML: 数据操作语言,指对数据的CRUD
DDL: 数据定义语言, 指对数据库的定义,表的定义
DCL: 数据库的控制语言, 指对数据的权限控制
DQL: 数据查询语言, 指定的SQL语句中,大量的会编写查询语句
结构: 数据库 – 表 — 数据 (行和列组成)

4 常见命令操作 

5 数据库里的数据类型 

整数:int ,
小数: double ,
精确的小数: decimal(m,n) numeric(m,n)其中m是总位数,n是小数位数 ,
字符串: char(固定长度,查询高效) varchar(长度可变,省内存)
日期:date(年月日) time(时分秒) datetime(年月日时分秒) timestamp(时间戳,存毫秒数)
图片,音频,视频: 数据库里只会存他们的存放路径(d:/abc/1.jpg)

6 字段约束 

用来约束字段的值, 通常是在创建表时就已经确定了哪个字段用哪种约束

6.1 唯一约束

字段的值必须唯一,不能重复,使用unique

6.2 非空约束

约束了字段的值不能为null 

6.3 主键约束

每个表都应该设计一个字段是主键,从此,这个字段的值,必须唯一且非空.
主键自增策略: 不需要程序员自己数主键的值,交给数据库来管理主键的值,数据库会从1开始自增

 7 MySQL的基础函数

为了方便的操作数据,MySQL提供了很多函数,
常见的: lower upper length concat substr replace…

测试:

#1.查询语句的多种写法
#查询 所有列
SELECT   *   FROM emp; 
#查询 ename列 的值
SELECT ename FROM emp;
#查询 字段名  别名 
SELECT ename  abc FROM emp;#给字段设置别名 
#     字段名 别名 字段名 别名
SELECT ename  a ,  job     b FROM emp;
#2.基本函数:
#upper(m)全转大写,m是字段名称或者字符串
SELECT ename,UPPER('abc'),UPPER(ename) FROM emp;
#lower(m)全转小写,m是字段名称或者字符串
SELECT ename,LOWER('XYZ'),LOWER(ename) FROM emp;
#length(字段名称)求长度,一个字母或数字长度为1,一个汉字为3
SELECT ename,LENGTH(ename),LENGTH(job) FROM emp;#求ename的长度
#substr(a,b,c)截取,a是字段名称b是从第几个开始c是要截取的长度
SELECT ename,SUBSTR(ename,2) FROM emp;
SELECT ename,SUBSTR(ename,2,1) FROM emp;
#concat(a,b,c)拼接,a是字段名称b和c是要拼接的数据
SELECT ename,CONCAT(ename,123,'hello') FROM emp;
#replace(a,b,c)替换,a是字段名称b是要把谁替换成c
SELECT ename,REPLACE(ename,'a','b') FROM emp;
#ifnull(a,b)如果是null就替换,a是字段名称b是要把null替换成b
SELECT comm,IFNULL(comm,100) FROM emp;
#小数处理的: 
#round(a)四舍五入,把a的值取整
SELECT comm,ROUND(comm) FROM emp;
#round(a,b)四舍五入,把a的值保留b位小数
SELECT comm,ROUND(comm,2) FROM emp;
#ceil直接向上取整 & floor直接向下取整
SELECT comm,CEIL(comm),FLOOR(comm) FROM emp;
#日期处理的:
#now & year & month & day & hour  & minute  & second 
SELECT NOW(),YEAR('2021-11-25'),YEAR( NOW() )
    ,MONTH( NOW() ),DAY( NOW() )
    ,HOUR( NOW() ),MINUTE( NOW() ),SECOND( NOW() )
#转义字符: '
SELECT 'xi\'an'

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lushao6688

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值