当前位置: 首页 > news >正文

MYSQL基础内容

一、介绍

1.不用数据库:使用IO流对数据进行管理

2.使用数据库:使用SQL语句对开发的数据进行管理,能储存上亿条数据

3.MYSQL:

是流行的关系型数据库管理系统之一,将数据保存在不同的数据表中,通过表与表之间的联系提高访问速度,使用SQL语言,6版本之前免费。

4.数据库、数据表、数据的关系

MYSQL服务器中可以创建多个数据库,每个数据库中可以包含多张数据表,每个数据表中可以存储多条数据记录,客户端通过数据库管理系统来操作MYSQL数据库。

5.SQL语言

①结构化查询语言,是操作所有关系型数据库的一种规则
②通用语法规则:
  1. SQL语句可以单行或多行书写,以分号结尾
  2. 可使用空格和缩进来增强语句的可读性
  3. MYSQL数据库的SQL语句不区分大小写,关键字建议使用大写
  4. 单行注释:--注释内容 #注释内容(MYSQL特有)
  5. 多行注释:/*注释内容*/
 ③SQL分类

二、MYSQL的基础操作(均在cmd(ctrl+R打开)中操作

(一)登录MYSQL

1.输入:mysql -u root -p

2.回车(出现图片的提示句)

3.在“Enter password:”后面输入密码

4.出现图片的内容就说明登录成功

(二)修改MYSQL登录密码

1.分别输入两行语句并回车(作用:忽略密码的验证码):

set global validate_password_policy=0;

set global validate_password_length=1;

3.结果如图

3如图所示,输入:set password=password("密码");

(三)授予远程连接权限

1.授权输入:grant all privileges on *.* to 'root' @ '%' identified by '登录密码';

2.回车

3.刷新输入:flush privileges;

(四)退出MYSQL

1.输入:exit

2.回车

(五)关闭Linux系统防火墙

1.输入:systemctl stop firewalld

2.回车

(六)重启MYSQL服务

1.输入:service mysqld restart

2.回车

三、DDL操作

(一)查询和创建所有数据库

1.查询所有数据库

SHOW DATABASES;

2.查询数据库的创建语句

SHOW CREATE DATABASE 数据库名称;

3.创建数据库

CREATE DATABASE 数据库名称;

4.创建数据库(判断,如果不存在则创建)

CREATE DATABASE IF NOT EXISTS 数据库名称;

5.创建数据库(指定字符集)

CREATE DATABASE 数据库名称 CHARACTER SET 字符集名称;

(二)修改、删除、使用数据库

1.修改数据库(修改字符集)

ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称 ;

2.删除数据库

DROP DATABASE 数据库名称;

3.删除数据库(判断,如果存在则删除)

DROP DATABASE IF EXISTS 数据库名称;

4.使用数据库

USE 数据库名称;

5.查看当前使用的数据库

SELECT DATABASE();

(三)查询数据表

1.查询所有的数据表

SHOW TABLES;

2.查询表结构

DESC 表名;

3.查询表字符集

SHOW TABLE STATUS FROM 库名 LIKE '表名';

(四)创建数据表

CREATE TABLE 表名(

        列名 数据类型 约束,

        列名 数据类型 约束,

        ...

);

常用数据类型

(五)修改数据库

1.修改表名

ALTER TABLE 表名 RENAME TO 新表名;

2.修改表的字符集

ALTER TABLE 表名 CHARACTER SET 字符集名称;

3.单独添加一列

ALTER TABLE 表名 ADD 列名 数据类型;

4.修改某列的数据类型

ALTER TABLE 表名 MODIFY 列名 新数据类型;

5.修改列名和数据类型

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

6.删除某一列

ALTER TABLE 表名 DROP 列名;

(六)删除数据表

1.删除数据表

DROP TABLE 表名;

2.删除数据表(判断,如果存在则删除)

DROP TABLE IF EXISTS 表名;

四、DML操作

(一)新增表数据

1.给指定列添加数据

INSERT INTO 表名 (列名1,列名2...) VALUES (值1,值2);

 2.给全部列添加数据

INSERT INTO 表名 VALUES (值1,值2...);

3.批量添加数据

INSERT INTO 表名 (列名1,列名2...) VALUES (值1,值2...),(值1,值2...),...;

注意:

列名和值的数量以及数据类型要对应,除了数字类型,其他数据类型的数据都需要加引号(单双均可),推荐单引号

(二)修改和删除表数据(如不加条件,则修改所有数据

1.修改表中的数据

UPDATE 表名 SET 列名1=值1,列名2=值2,...[WHERE 条件];

2.删除表中的数据

DELETE FROM 表名 [WHERE 条件];

五、DQL操作

(一)查询语法(按上到下的顺序来写)

(二) 查询全部

1.查询全部的表数据

SELECT * FROM 表名;

2.查询指定字段的表数据

SELECT 列名1,列名2,... FROM 表名;

3.去除重复查询

SELECT DISTINCT 列名1,列名2,... FROM 表名;

4.计算列的值(四则运算)

SELECT 列名1 [IFNULL(列名,0)] 运算符(+-*/) ,列名2 FROM 表名;

5.起别名查询

SELECT 列名 AS(可省略) 别名 FROM 表名;

(三)条件查询

1.查询条件分类

 

2.条件查询语法

SELECT 列名列表 FROM 表名 WHERE 条件;

(四)聚合函数查询

1.聚合函数分类

2.聚合函数查询语法

SELECT 函数名(列名) FROM 表名 [WHERE 条件];

(五)排序查询

1.排序查询语法

SELECT 列名列表 FROM [WHERE 条件] ORDER BY 列名 排序方式,列名 排序方式...;

 2.排序方式:

ASC——升序(默认)

DESC——降序

如果有多个排序条件值一样时,才会判断第二条件。 

(六)分组查询

1.分组查询语法

SELECT 列名列表 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后的条件过滤] [ORDER BY 排序列名 排序方式];

(七)分页查询

1.分页查询语法

SELECT 列名列表 FROM 表名 [WHERE 条件] [GROUP BY 分组列名] [HAVING 分组后的条件过滤] [ORDER BY 排序列名 排序方式] LIMIT 当前页数,每页显示的条数; 

当前页数:(当前的页数-1) * 每页显示的条数 

http://www.dtcms.com/a/265302.html

相关文章:

  • 读VJEPA 2
  • Linux Mem -- Slub内存分配器基础
  • 08_Excel 导入 - 用户信息批量导入
  • [ linux-系统 ] 软硬链接与动静态库
  • 基于Java+SpringBoot的图书管理系统
  • 【字节跳动】数据挖掘面试题0002:从转发数据中求原视频用户以及转发的最长深度和二叉排序树指定值
  • Scala 安装使用教程
  • windows系统下将Docker Desktop安装到除了C盘的其它盘中
  • 前端可视化——Canvas实战篇
  • Docker Compose 基础——AI教你学Docker
  • 《寻北技术的全面剖析与应用前景研究报告》
  • 【4】 Deployment深入简出实战演练
  • 无代码自动化测试工具介绍
  • Java中创建线程方法以及线程池参数配置
  • (LeetCode ) 13. 罗马数字转整数 (哈希表)
  • 跨越十年的C++演进:C++20新特性全解析
  • 软件反调试(3)- 基于父进程的检测
  • Python 高光谱分析工具(PyHAT)
  • 【数字后端】- 什么是AOI、OAI cell?它们后面数字的含义
  • seaborn又一个扩展heatmapz
  • 利用tcp转发搭建私有云笔记
  • Java--多态--向上转型--动态绑定机制--断点调试--向下转型
  • IO进程线程 (进程)
  • 旋转不变子空间( ESPRIT) 算法
  • 算法笔记上机训练实战指南刷题
  • pytorch学习-9.多分类问题
  • WSL2 + Docker Desktop 环境中查看本地镜像
  • 基于SpringBoot的场地预定管理系统
  • Springboot开发常见注解一览
  • 记一次finallshell.exe打开无法应的处理