MySQL 基础

分享 123456789987654321 ⋅ 于 2022-02-15 09:41:58 ⋅ 955 阅读

Mysql

1.查看表的创建信息

-- \G换行
show create table 表名称\G

2.MySQL的编码设置:

2.1查看编码命令

show variables like 'character_%';
show variables like 'collation_%';

2.2修改mysql的数据目录下的my.ini配置文件

[mysql] --大概在63行左右,在其下添加 ... 
default-character-set=utf8 #默认字符集 
[mysqld] -- 大概在76行左右,在其下添加 ... 
character-set-server=utf8
collation-server=utf8_general_ci

2.3:重启服务

2.4:查看编码命令

show variables like 'character_%'; 
show variables like 'collation_%';

3.root用户密码忘记,重置的操作

1: 通过任务管理器或者服务管理,关掉mysqld(服务进程) 
2: 通过命令行+特殊参数开启mysqld mysqld -- defaults-file="D:\ProgramFiles\mysql\MySQLServer5.7Data\my.ini" --skip-grant-tables
3: 此时,mysqld服务进程已经打开。并且不需要权限检查 
4: mysql -uroot 无密码登陆服务器。另启动一
个客户端进行 
5: 修改权限表 
    1) use mysql; 
    2)update user set authentication_string=password('新密码') where user='root' and           Host='localhost'; 
    3)flush privileges; 
6: 通过任务管理器,关掉mysqld服务进程。
7: 再次通过服务管理,打开mysql服务。 
8: 即可用修改后的新密码登陆。

4.运算符

4.1安全等于运算符(<=>)

安全等于运算符(<=>)与等于运算符(=)的作用是相似的,
唯一的区别 是‘<=>’可以用来对NULL进行判断。
在两个操作数均为NULL时,其返回值为1,而不为NULL;/*当一个操作数为NULL时,其返回值为0,而不为NULL。*/

SELECT'' <=> NULL,NULL <=> NULL FROM cg_dazl;
--    '' <=> NULL 值为0 ,NULL <=> NULL值为1

4.2.IS NULL 和 IS NOT NULL

空运算符(IS NULL或者ISNULL)判断一个值是否为NULL,如果--为NULL则返回1,否则返回0。
非空运算符(IS NOT NULL)判断一个值是否不为NULL,如果--不为NULL则返回1,否则返回0。

4.3最小值运算符LEAST

SELECT LEAST (1,0,2), LEAST('b','a','c'), LEAST(1,NULL,2);

4.4最大值运算符GREATEST

SELECT GREATEST(1,0,2), GREATEST('b','a','c'), GREATEST(1,NULL,2);

4.5NOT IN

NOT IN运算符 NOT IN运算符用于判断给定的值是否不是IN列表中的一个值,
如果不是IN列表中的一个值,则返回1,否则返回0。

4.6正则表达式

5.odrerby排序 与

排序
--多列排序,第一列值相同,才会对第二列排序
SELECT last_name, department_id, salary FROM employees ORDER BY department_id, salary DESC;
--默认排序规则ASC

分页
limit 从哪条开始查询,要查询的条数
--前10条记录: SELECT * FROM 表名 LIMIT 0,10;
--第11至20条记录: SELECT * FROM 表名 LIMIT 10,10;
--第21至30条记录: SELECT * FROM 表名 LIMIT 20,10;

6.函数

6.1数值函数

6.2角度与弧度互换函数

函数 用法
RADIANS(x) 将角度转化为弧度,其中,参数x为角度值
DEGREES(x) 将弧度转化为角度,其中,参数x为弧度值

6..3 三角函数

6.4 指数与对数

6.5 进制间的转换

6.6字符串函数

6.7日期和时间函数

6.8日期与时间戳的转换

6.9 获取月份、星期、星期数、天数等函数*

6.10日期的操作函数

函数 用法
EXTRACT(type FROM date) 返回指定日期中特定的部分,type指定返回的值

6.11时间和秒钟转换的函数

6.12计算日期和时间的函数

6.13日期的格式化与解析

6.14Mysql信息相关的函数

函数 用法
VERSION() 返回当前MySQL的版本号
CONNECTION_ID() 返回当前MySQL服务器的连接数
DATABASE(),SCHEMA() 返回MySQL命令行当前所在的数据库
USER(),CURRENT_USER()、SYSTEM_USER(),SESSION_USER() 返回当前连接MySQL的用户名,返回结果格式为 “主机名@用户名”
CHARSET(value) 返回字符串value自变量的字符集
COLLATION(value) 返回字符串value的比较规则

7.GROUP BY

7.1GROUP BY中使用WITH ROLLUP

--使用 WITH ROLLUP 关键字之后,在所有查询出的分组记录之后增加一条记录,
--该记录计算查询出的所有记录的总和,即统计记录数量。
SELECT department_id,AVG(salary) FROM employees WHERE department_id > 80 
GROUP BY department_id WITH ROLLUP;
当使用ROLLUP时,不能同时使用ORDER BY子句进行结果排序,即ROLLUP和ORDER BY是互相排斥的。

8.唯一约束

--1.建表时添加唯一约束
CREATE TABLE USER(
    id INT NOT NULL, 
    NAME VARCHAR(25),
    PASSWORD VARCHAR(16),
    -- 使用表级约束语法 
    CONSTRAINT uk_name_pwd UNIQUE(NAME,PASSWORD) 
);
--2.建表后添加唯一约束
alter table 表名称 add unique key(字段列表);

-- 查看表的索引
通过 show index from 表名称;

9.视图

--查看视图的结构
DESC / DESCRIBE 视图名称;
-- 查看视图信息(显示数据表的存储引擎、版本、数据行数和数据大小等) 
SHOW TABLE STATUS LIKE '视图名称'\G
--查看视图的详细定义信息
SHOW CREATE VIEW 视图名称;

9.2视图不可更新的原则

--不可更新的视图
1.在定义视图的时候指定了“ALGORITHM = TEMPTABLE”,视图将不支持INSERT和DELETE操作;
2.视图中不包含基表中所有被定义为非空又未指定默认值的列,视图将不支持INSERT操作;
3.在定义视图的SELECT语句中使用了 JOIN联合查询 ,视图将不支持INSERT和DELETE操作;
4.在定义视图的SELECT语句后的字段列表中使用了 数学表达式 或 子查询 ,视图将不支持INSERT,也不支持UPDATE使用了数学表达式、子查询的字段值;
5.在定义视图的SELECT语句后的字段列表中使用 DISTINCT 、 聚合函数 、 GROUP BY 、 HAVING 、 UNION 等,视图将不支持INSERT、UPDATE、DELETE;
6.在定义视图的SELECT语句中包含了子查询,而子查询中引用了FROM后面的表,视图将不支持 INSERT、UPDATE、DELETE;
7.视图定义基于一个 不可更新视图 ;
8.常量视图。

9.3修改视图

1.使用CREATE OR REPLACE VIEW 子句修改视图
2.ALTER VIEW 视图名称 AS 查询语句

9.4删除视图

DROP VIEW IF EXISTS 视图名称;
版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-123456789987654321,http://hainiubl.com/topics/75819
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter