锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

MySQL基础学习自学笔记002_Real

时间:2022-08-25 05:30:00 sn针插座连接器

MySQL基础学习自学笔记002_Real

一、SQL语句分类

1、DDL(Data Definition Language):用于定义数据库对象的数据定义语言:库、表、列等。功能:创建、删除、修改库和表结构。
2、DML(Data Manipulation Language):定义数据库记录的数据操作语言:增删查表记录。
3、DCL(Data Control Language):数据库控制语言,定义访问权限和安全级别。
4、DQL(Data Query Language):定义查询记录的数据查询语言。

二、socket介绍

1.使用客户端和服务端socket链接的。
2、socket中文翻译:插座,专业学术名称:套接字,实际上是计算机与计算机之间的连接。
3.使用计算机ip 端口可以与另一台计算机达成协议ip 端口连接通信(TCP/UDP)
4、MySQL使用默认端口3306,客户端使用端口,可连接服务。
5、服务器的ip 端口是固定的,客户端通常是随机的。

三、DCL(数据控制语言)

该语言用于定义访问权限
一个项目创建一个用户,一个项目对应的数据库只有一个,用户只能对数据库有权限,用户无法操作其他数据库。

1.创建用户:
用户只能指定IP地址上登陆MySQL:create user 用户名@IP地址 identified by '密码';
用户可以随意使用IP地址登录:create user 用户名@'%' identified by '密码'

二、授权用户:
语法:grant 权限1, ..., 权限n on 数据库.* to 用户名@IP地址; 可直接使用权限1、2、3all关键字代替

三、撤销授权:
语法:create revoke 权限1, ..., 权限n on 数据库.* from 用户名@IP地址;在指定数据库上撤销指定用户的指定权限

四、查看权限:
产看执行用户权限:show grants for 用户名@IP地址;

四、MySql常见的建表约束(Create Table COnstraints)

1、MySQL约束类型:
NOT NULL:非空约束
UNIQUE:唯一的约束,不允许重复取值
PRIMARY KEY:主键约束(主关键词),自带非空,唯一,索引
FOREIGN KEY:外键约束(外键词)
DEFAULT:默认值(缺省值)

五、MySQL常用函数介绍

1、聚合函数:
聚合函数是一种常用的函数:
(1)COUNT(col)统计查询结果的行数
(2)MIN(col)查询指定列的最小值
(3)MAX(col)查询指定列的最大值
(4)SUM(col)求和,返回指定列的总和
(5)AVG(col)求平均值,返回指定列数据的平均值
2.数值函数
数值函数主要是处理数值数据,得到我们想要的结果。
(1)CEILING(x)返回大于x的最小整数值,向上取整
(2)FLOOR(x)返回小鱼x的最大整数值,向下取整
(3)ROUND(x,y)回归参数x,但四舍五入有y位效数值 四舍五入
(4)TRUNCATE(x,y) 返回数字x截短为y位小数的结果
(5)PI()返回PI值(圆周率)
(6)RAND()通过提供参数,可以返回0到1的随机值RAND(随机指定的随机数生成器)
三、字符串函数
字符串函数可以处理字符串类型,在程序应用中仍然很有用。
(1)LENGTH(s)计算字符串长度函数,返回字符串长度函数
(2)CONCAT(s1, s1, …, sn)合并字符串函数,返回结果为连接参数产生的字符串,可以是一个或多个参数
(3)LOWER(str)将字符串字幕转换为小写
(4)UPPER(str)将字符串中的字母转换为大写
(5)LEFT(str, x)返回字符串str最左边的x个字符
(6)RIGHT(str, x)返回字符串str最右边的x个字符
(7)TRIM(str)删除字符串左右两侧的空格
(8)REPLACE字符串替换函数,返回替换后的新字符串,REPLACE(name, ‘白’, ‘黑’)
(9)SUBSTRING截取字符串,返回指定长度的字符串
(10)REVERSE(str)返回到字符串str的结果

六、日期函数

(1)CURDATE和CURRENT_DATE两个函数具有相同的功能,返回当前系统的日期值
(2)CURTIME和CURRENT_TIME返回当前系统的时间值
(3)NOW和SYSTEM两个函数的功能相同,返回当前日期和时间值
(4)UNIX TIMESTAMP获取UNIX时间戳函数,返回一个UNIX基于时间戳的无符号整数
(5)FROM UNIXTIME将UNIX时间戳转换为时间格式UNIX TIMESTAMP互为反函数
(6)MONTH在指定日期中获得月份
(7)MONTHNAME在指定日期获得英文名称的月份
(8)DAYNAME周几获得指定日期对应的英文名称
(9)DAYOFWEEK索引位置值对应于指定日期的一周
(10)WEEK指定日期是一年中的第几周,返回值的范围是0到52还是1~53
(11)DAYOFYEAR指定日期为一年中的第几天,返回值为1~366
(12)DAYOFMONTH指定日期为一个月中的第几天,返回值为1~31
(13)。。。

七、流程控制函数

流程控制类函数可以进行条件操作
(1)IF(test, t, f)如果test是真,返回t,否则返回f。
(2)IFNULL(arg1, arg2)如果arg1不空,返回arg1,否则返回arg2。
(3)NULLIF(arg1, arg2)如果arg1=arg2返回NULL,否则返回arg1。
(4)CASE WHEN[test1] THEN[result1]…ELSE[default]END如果testN如果是真的,返回resultN,否则返回default。
(5)CASE [test] WHEN[val1] THEN [result]…ELSE[default]END 如果test和valN等待,返回resultN,否则返回default。
(6)CASE 列名
(7)WHEN condition THEN result

行转列

SELECT  student_name “姓名”,  MAX(case course WHEN "语文" THEN score ELSE 0 END) "语文",  MAX(case course WHEN "数学" THEN score ELSE 0 END) "数学",  MAX(case course 
       
        WHEN 
        "英语" 
        THEN score 
        ELSE 
        0 
        END
        ) 
        "英语"
        , 
        FROM scoreset 
        GROUP 
        BY user_name
        ; 
       

八、hash函数和md5函数

经常在密码存储的时候用到的一个函数,md5加密

select md5('123456') '加密后的密码' from dual;

在这里插入图片描述

九、MySQL视图入门

视图相当于从原来的数据表中获取数据,然后新建一个只可创建,查询和删除的信标来存放这些数据(一般情况下),可以理解为把想要的数据部分截图下来保存,供以后查询使用,此时视图只是为了满足某些数据查询而建立的对象。
当然,也存在可以修改的视图,并且当修改视图数据的时候,原来表里的数据也会一同修改。此时视图的作用就是为了保护数据的安全性而只把部分数据展示出来供他人使用。

CREATE VIEW employees_out(id, first_name, last_name) as
select employee_id, first_name, last_name from employees;

十、数据库设计:三范式

内容:
第一范式:要求有主键,并且要求每一个字段都具有原子性不可再分
第二范式:要求所有非主键字段完全以来主键,不能产生部份依赖
第三范式:所有非主键字段和主键字段之间不能产生传递依赖

十一、常见表关系

一对一 用的不多
一个表和另一个表存在的关系是一对一,此设计不常用,一般都合并为一张表
举例:
学生信息表可以分为
基本信息表,和详细信息表
可能有这种需求,需要给某个账户,并对学生表进行操作处理,但是有些私密的信息不能暴露
解决方案:
第一种方案:分为两张表存储,共享主键
第二种方案:分为两张表,外键唯一

一对多
一个表和另一个表存在的关系是一对多
举例:
计算机专业只有一个,但是学计算机专业的学生很多,这就形成了一对多的关系
解决方案:
分为两张表存储,再多的以放添加外键
这个外键字段引用的是另一方中的主键字段

多对多
一个表和另一个表之间存在的关系是多对多
举例:
一个学生会学习很多门课程,一门课程会被很多学生学习
解决方案:
分为三张表,在学生表里面存储学生信息,在课程表里面存储课程信息
然后再建立第三章成绩表,里面有向何生id和课程id,以及对应的成绩。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章