【MySQL基础】MySQL基础操作

文章目录

  • 🍉什么是数据库?
  • 🍓MySQL数据库
  • 🧀1.数据库操作
    • 🍆1.1展示数据库
    • 🍆1.2创建数据库
    • 🍆1.3使用数据库
    • 🍆1.4删除数据库
  • 🧀2.常用数据类型
  • 🧀3.数据表操作
    • 🍆3.1创建表
    • 🍆3.2查看表结构
    • 🍆3.3删除表
  • 🧀4.数据操作
    • 🍆4.1新增数据--Create
    • 🍆4.2删除数据--Delete
    • 🍆4.3查找数据--Retrieve
    • 🍆4.4更改数据--Update

🍉什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  1. 数据以表格的形式出现
  2. 每行为各种记录名称
  3. 每列为记录名称所对应的数据域
  4. 许多的行和列组成一张表单
  5. 若干的表单组成database

🍓MySQL数据库

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL 是开源的,目前隶属于 Oracle 旗下产品。
  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL 使用标准的 SQL 数据语言形式。
  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • MySQL 对 PHP 有很好的支持,PHP 是很适合用于 Web 程序开发。
  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

🧀1.数据库操作

🍆1.1展示数据库

SHOW DATABASES;

在这里插入图片描述

  • information_schema数据库是MySQL服务器的数据字典(保存所有数据表和库的结构信息)
  • performance_schema数据库是MySQL服务器的性能字典(保存全局变量等的设置)
  • mysql 主要负责MySQL服务器自己需要使用的控制和管理信息(用户的权限关系等)
  • sys是系统数据库,包括了存储过程,自定义函数等信息
    这四个数据库是MySQL安装时自带的,不要随意删除

🍆1.2创建数据库

CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name];

  • []内是可选操作
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则
  • 不能创建两个名相同的数据库

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ c

在这里插入图片描述

这里我们就创建了一个库名为‘study’的数据库

🍆1.3使用数据库

后续对表的操作都是建立在选中库的前提下进行的

USE 数据库名称;

在这里插入图片描述

🍆1.4删除数据库

DROP DATABASE 库名;
在这里插入图片描述

删除操作是一个危险操作,当数据库内容涉及金钱时,操作要尤其慎重

🧀2.常用数据类型

字符型 VARCHAR(SIZE)
这是一个可变长的字符串

整型 INT

浮点型 DECIMAL(M,D)
M表示小数位数,D表示保留小数点后多少位

日期类型TIMESTAMP
范围从1970到2038年,自动检索当前时区并进行转换。

🧀3.数据表操作

需要操作数据库中的表时,需要先使用该数据库

🍆3.1创建表

CREATE TABLE table_name (
字段1 字段1类型 [字段属性] [COMMENT 字段1注释 ],
字段2 字段2类型 [字段属性] [COMMENT 字段2注释 ],
字段3 字段3类型 [字段属性] [COMMENT 字段3注释 ],
);

在这里插入图片描述
这里我们创建了一个名为student,拥有身份id,姓名name,年龄age,性别sex的表

🍆3.2查看表结构

DESC 数据表名称;

在这里插入图片描述

  • Null表示是否允许为空
  • Key索引类型
  • Default 表示默认值
  • Extra扩充

🍆3.3删除表

危险操作哦

DROP TABLE 数据表名称;

在这里插入图片描述

🧀4.数据操作

🍆4.1新增数据–Create

INSERT INTO table_name (column1, column2, column3, …)
VALUES (value1, value2, value3, …);

  • column表示选择插入列的列名,如果这个表的所有都有内容要插入,则可以省略这个步骤
  • value代表值
  • 这里的值要跟表中的列类型一一对应,如果限定了列,则要与列的类型对应。
    在这里插入图片描述
    我们在这里插入了两条数据,展示一下
    在这里插入图片描述
    这个查询语句在后续会讲到
    我们在这里指定id和name这两列进行插入数据
    在这里插入图片描述

🍆4.2删除数据–Delete

删除操作需谨慎!!!

DELETE FROM table_name [WHERE …] [ORDER BY …] [LIMIT …]

这些语法在后面会在查找数据中讲到

🍆4.3查找数据–Retrieve

SELECT
[DISTINCT] {* | {column [, column] …}
[FROM table_name]
[WHERE …]
[ORDER BY column [ASC | DESC], …]
LIMIT …

我们创建一个新表
方便后续内容做示例
在这里插入图片描述

🫐4.3.1全列查询

SELECT * FROM 数据表名;

在这里插入图片描述

一般不建议进行全列查询,因为当数据过多时,会对服务器造成很大的压力。
🫐4.3.2指定列查询

SELECT 列名,列名 FROM 数据表名;

在这里插入图片描述

注意指定列查询时,不需要按照数据表的顺序来查询

🫐4.3.3查询字段为表达式
这里生成表单都是临时产生的,并不会对原表的内容进行更改

  • 查询可以不包含字段
  • 可以包含一个字段
  • 可以包含多个字段

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🫐4.3.4别名–AS

SELECT column [AS] alias_name […] FROM table_name;

在这里插入图片描述

4.3.5🫐去重–DISTINCT

在这里插入图片描述
在这里插入图片描述

4.3.6🫐排序–ORDER BY

– ASC 为升序(从小到大)
– DESC 为降序(从大到小)
– 默认为 ASC
SELECT … FROM table_name [WHERE …]
ORDER BY column [ASC|DESC], […];

  • NULL默认为最小,降序时,出现在最下面,升序时出现在最上面
  • 还可以使用表达式或者别名来进行排序

select name,math+english from score order by math+english;
select name,math+english+chinese as totalfrom score order by toeal;

  • 可以以对多个字段进行排序,排序顺序按书写顺序来\

例如此时 就先按照数学成绩来排序,如果数学成绩相同则按照英语成绩来排序
select name,math,chinese,english from score order by math,english,chinese

在这里插入图片描述

在这里插入图片描述
4.3.7🫐条件查询-- WHERE

    1. WHERE条件可以使用表达式,但不能使用别名。
    1. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

查询数学成绩大于60分在这里插入图片描述
查询数学成绩大于60并且英语成绩小于70的学生
4.3.8🫐分页查询–LIMIT
offset后面的数字表示从什么位置开始查找
limit 后的数字表示查找几条数据
在这里插入图片描述

🍆4.4更改数据–Update

UPDATE table_name SET column = expr [, column = expr …]
[WHERE …] [ORDER BY …] [LIMIT …]

在这里插入图片描述
以上就是基础部分全部内容,如果对你有帮助的话,点赞关注支持一下吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/540477.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子元件封装类型

电子元件封装类型 ![](

vitepress里使用gitalk(图文教程)

vitepress里使用gitalk Gitalk 是一个基于 GitHub Issue 和 Preact 开发的评论插件 生成client配置 创建OAuth application 填写完毕,点击 Register application 即可 生成client secrets 一开始没有自动生成 Client secrets,需要手动生成&#xff…

关于nginx做正向代理的那些事

声明:该文章只是用于技术探索的实践与讨论,没有其他用途。 准备: 一台能访问外网的服务器;一个域名,映射到上面的服务器;https的证书及密钥;nginx安装包; 协议使用: 开…

CircuitBreaker熔断器

CircuitBreaker熔断器 1、Hystrix目前也进入维护模式 ​ Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下&…

C 练习实例77-指向指针的指针-二维数组

关于数组的一些操作 #include<stdio.h> #include<stdio.h> void fun(int b[],int length) {for(int i0;i<length;i){printf("%d ",b[i]);}printf("\n");for(int i0;i<length;i){ //数组作为形参传递&#xff0c;传递的是指针&#xff0…

C#使用MiniExcel读取excel表格文件

使用MiniExcel读取excel表格文件 MiniExecl提供了几种读取方法。 准备测试数据 测试类&#xff1a; public class Person{public int Id { get; set; }public string Name { get; set; }public string Description { get; set; }public double Value { get; set; }}测试数据…

QT信号与槽实现方式

1、第一种实现方式 在QT开发工具UI界面先拖入按钮&#xff0c;然后鼠标右键拖入按钮&#xff0c;点击选中槽&#xff0c;在页面选着需要的信号&#xff0c;然后OK&#xff0c;随即将会跳转到类的.cpp文件&#xff0c;&#xff08;这种UI代码结合的方式&#xff0c;会自动去绑定…

什么是分段锁?

1、典型回答 分段锁是一种将锁细化到每个段(Segment) 级别的锁设计。在 ConcurrentHashMap 中&#xff0c;它将整个数据结构分成多个段&#xff0c;每个段只锁定自己的一部分数据。每个段可以看作是一个独立的分组&#xff0c;只锁定该段(Segment)内部的数据操作&#xff0c;不…

springboot271制造装备物联及生产管理ERP系统

制造装备物联及生产管理ERP系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装制造装备物联及…

Mysql 无法启动,mysql-bin.日志丢失删除处理

在linux操作系统中&#xff0c;当mysql无法启动时候&#xff0c;先看日志 2024-03-15T05:20:16.352075Z 0 [Warning] [MY-000081] [Server] option max_allowed_packet: unsigned value 107374182400 adjusted to 1073741824. 2024-03-15T05:20:16.352156Z 0 [Warning] [MY-010…

【数据结构和算法初阶(C语言)】栈的概念和实现(后进先出---后来者居上的神奇线性结构带来的惊喜体验)

目录 1.栈 1.1栈的概念及结构 2.栈的实现 3.栈结构对数据的处理方式 3.1对栈进行初始化 3.2 从栈顶添加元素 3.3 打印栈元素 3.4移除栈顶元素 3.5获取栈顶元素 3.6获取栈中的有效个数 3.7 判断链表是否为空 3.9 销毁栈空间 4.结语及整个源码 1.栈 1.1栈的概念及结构 栈&am…

手撸dynamic源码详细讲解

本文源码解析基于3.3.1版本。只截了重点代码&#xff0c;如果需要看完整代码&#xff0c;可以去github拉取。 1 自动配置的实现 一般情况下&#xff0c;一个starter的最好入手点就是自动配置类&#xff0c;在 META-INF/spring.factories文件中指定自动配置类入口 org.spring…