MySQL基础(2022-08-13总结、回顾)

MySQL基础

什么是MySQL?

MySQL是一款Oracle公司出口的轻量级数据库软件,广泛应用于互联网场景,同时也是目前最主流的数据库。

那什么又是数据库呢?

数据库是“按照数据结构来组织、存储、和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。其本质是一个文件系统,将数据按照特定的格式将数据存储起来,并通过特定的应用程序(数据库管理系统,DateBase Managemennt System),用户可以对数据库中的数据进行增加、修改、删除、及查询操作

为什么使用MySQL?(优点是什么?)

MySQL相对于文件系统,有点如下:

  1. MySQL的结构相对于文件系统跟方便管理

  2. MySQL支持各种编程语言

  3. MySQL比文件系统支持更大规模的数据

  4. MySQL更具备扩展性

  5. MySQL数据能更快检索

  6. MySQL支持分布式

结构化查询语言SQL

什么是SQL?

结构化查询语言(Structured Query Language)简称SQL,SQL语句就是对数据库进行操作(作用)的一种语言

SQL语句分类

  1. DDL(Data Definition Language):数据库定于语句,用于数据库、表、列的管理(create、drop、alter)

  2. DML(Data Manipulation Language):数据库表中数据的CUD,表数据的增删改(insert、update、delete)

  3. DQL(Data Query Language):表数据的查询(select)

  4. DCL(Data Control Language):权限控制

  5. TCL(Transaction Control Language):事务控制

  6. CCL(Cursor Control Language):指针控制、指针管理

SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾。

  2. 可使用空格和缩进来增强语句的可读性(语句之间可以多个空格)

  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

一些简单操作

用户管理(DDL)

  • 查看用户

select host, user, authentication_string from mysql.user;
  • 创建用户

create user '用户名'@'ip地址' IDENTIFIED by '密码';
  • 修改密码

  • alter user 'zs'@'localhost' IDENTIFIED by '456';

权限管理(DCL)

  • 用户授权

grant 权限码 on 数据库名.表名 to 用户名@主机名;
  • 查看用户权限

show grants for 用户名@主机名;
  • 取消用户权限

REVOKE 权限码 ON 库名.表名 FROM 用户名@主机名;
  • 刷新权限

FLUSH PRIVILEGES;

数据库操作(DDL)

  • 创建数据库

create database 数据库名称;-- 直接创建
create database if not EXISTS 数据库名称;-- 如果不存在则创建
create database if not EXISTS 数据库名称 character set 编码;-- 创建并指定编码
  • 查看当前所有数据库

show databases;
  • 修改数据库字符集

ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
  • 删除数据库

DROP DATABASE 数据库名;
  • 使用数据库(一般用于命令行下使用)

use 数据库名称;

数据库表的操作

  • 创建表

CREATE TABLE [IF NOT EXISTS] 表名 (
           字段名 字段类型 [ primary key | unique | not null | auto_increment |
              | binary | default 缺省值 | comment 注释语句],
           ......
        ) [ ENGINE=InnoDB | DEFAULT CHARSET=utf8 ];
  • 查看表

show tables;-- 查看当前数据库下有哪些表
desc 表名;-- 查看表的结构
show create table 表名;-- 查看建表语句
  • 删除表

drop table 表名;
  • 修改表

-- 1.添加列
ALTER TABLE 表名 ADD 列名 类型;
-- 2.修改类型
ALTER TABLE 表名 MODIFY 列名 新的类型;
-- 3.修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
-- 4.删除列
ALTER TABLE 表名 DROP 列名;
-- 5.修改表名
RENAME TABLE 表名 TO 新表名;
-- 6.修改字符集
ALTER TABLE 表名 character set 字符集;

表数据的CRUD

  • 添加数据

-- 向表中添加一行数据
insert into 表名(列名,...) values(值1,值2,...);
-- 批量插入
insert into 表名(列名,...) values(值1,值2,...),(值1,值2,...),(值1,值2,...),(值1,值2,...);
-- 插入数据(指定列)
insert into 表名(列名)values('值')
  • 删除表中数据

delete from 表名 where 列名=值 (and 列名=值 and 列名=值);
  • 修改表中数据

update 表名 set 列名=值,列名=值,... where 列名=值;
  • 查询表中数据

select 列名,... from 表名  where 列名=值;
-- 别名查询
select 列名 (as) '别名' ,... from 表名  where 列名=值;

SQL运算符

和Java语言一样,SQL语言也有自己的运算符。两者算术运算符相差无几,但其他运算符有所差异。

算术运算符

算术运算符说明
+加法运算
-减法运算
*乘法运算
/除法运算,返回商
%求余运算,返回余数

比较运算符

比较运算符说明
=等于
<>,!=不等于
>大于
<小于
<=小于等于
>=大于等于
BETWEEN在两值之间
NOT BETWEEN不在两值之间
IN在集合中
NOT IN不在集合中
<=>严格比较两个NULL值是否相等
LIKE模糊匹配
REGEXP或RLIKE正则式匹配
IS NULL为空
IS NOT NULL不为空

逻辑运算符

逻辑运算符说明
NOT 或 !逻辑非
AND逻辑与
OR逻辑或
XOR逻辑异或

聚合函数

聚合函数说明
AVG返回平均数
MAX返回最大值
MIN返回最小值
COUNT()返回结果集中的行数
SUM()返回一组值得总和

Order by(排序)

ASC升序
DESC降序

用 union/union all来连接结果集

把两次或者多次查询得结果合并起来

union去重
union all不去重

目录

MySQL基础

什么是MySQL?

为什么使用MySQL?(优点是什么?)

结构化查询语言SQL

什么是SQL?

SQL语句分类

SQL通用语法

一些简单操作

用户管理(DDL)

权限管理(DCL)

数据库操作(DDL)

数据库表的操作

表数据的CRUD

SQL运算符

算术运算符

比较运算符

逻辑运算符

聚合函数

Order by(排序)

用 union/union all来连接结果集


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值