MySQL操作基础

news2024/12/24 2:07:37

文章目录

  • 一、Mysql的基本概念
    • 1.1数据库有哪些组成
      • 数据
      • 数据库
    • 1.2数据库系统和数据库管理系统
    • 1.3数据库的发展史
  • 二、数据库的分类
  • 三、数据库的数据类型
  • 三、数据库的操作
    • 3.1查看数据库的结构
    • 3.2创建及删除数据库和表
    • 3.3管理表中的数据记录
    • 3.4修改表名和表结构

Linux操作系统:centos Ubuntu suse
国产系统:华为:欧拉、阿里:龙蜥 腾讯:tencentOS 麒麟(银河麒麟、中标麒麟-> centos 优麒麟-> Ubuntu ) 统信 红旗

一、Mysql的基本概念

1.1数据库有哪些组成

数据

  • 描述事物的符号标记
  • 包括数字、文字、图形、图像、声音、档案记录等
  • 以“记录”形式按统一的格式存储

  • 将不同的记录组织在一起
  • 用来存储具体的数据

数据库

  • 表的集合,是存储数据的仓库
  • 以一定的组织方式存储的相互有关的数据集合
  • 是按照数据结构来组织、存储和管理数据的仓库

数据库中有表,表中有记录。

1.2数据库系统和数据库管理系统

数据库管理系统:

  • 是实现对数据库资源有效组织,管理和存取的系统软件

数据库的建立和维护功能、数据定义功能、数据操纵功能、数据库的运行管理功能、通信功能

数据库系统:

  • 是一个人机系统,由硬件、oS、数据库、DBMS、应用软件和数据库用户组成

  • 用户可以通过DBMS或应用程序操作数据库

在这里插入图片描述

1.3数据库的发展史

第一代数据库

  • 自20世纪60年代起,第一代数据库系统问世
  • 是层次模型与网状模型的数据库系统
  • 为统一管理和共享数据提供了有力的支撑。

第二代数据库

  • 20世纪70年代初,第二代数据库——关系数据库开始出现
  • 20世纪80年代初,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流
  • 到目前为止,关系数据库系统仍占领数据库应用的主要地位

第三代数据库

  • 自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现

  • 面向对象的数据库系统,实用性强、适应面广

  • 20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面·

  • —些新的元素被添加进主流数据库系统中

    • 例如,Oracle支持的“关系-对象”数据库模型

二、数据库的分类

数据库可以分两大类: 关系型数据库和非关系型数据库

关系型数据库

  • 关系数据库系统是基于关系模型的数据库系统
  • 关系模型的数据结构使用简单易懂的二维数据表
  • 关系模型可用简单的“实体-关系”(E-R)图来表示
  • E-R图中包含了实体(数据对象)、关系和属性三个要素

关系型数据库SQL 的存储结构为二维表,由库、表、数据组成其中数据是由行(字段)和列(记录)组成

  • 每一行称为一条记录,用来描述一个对象的信息

  • 每一列称为一个字段,用来描述对象的一个属性

  • 关系型数据库典型代表: Mysql(5.7/8.0) Mariadb PostgreSQL Oracle SQL Server DB2
    国产数据库代表: 阿里云RDB 华为 高斯 腾讯 TDBA 阿里 Oceanbase 人大金仓 达梦

非关系型数据库介绍

  • 非关系数据库也被称作NoSQL (Not Only sQL)

  • 存储数据不以关系模型为依据,不需要固定的表格式

  • 非关系型数据库的优点

    • 数据库可高并发读写

    • 对海量数据高效率存储与访问

    • 数据库具有高扩展性与高可用性

  • 非关系型数据库:

缓存型:Redis Mecached

文档型:MongoDB

搜索型:ElasticSearch(ES)

时序型:Prometheus InfluxDB

三、数据库的数据类型

常用的数据类型:

数据作用
int:整型 无符号【0,2^32-1】,有符号【-2^31,2^32-1】
float:单精度浮点 4字节32位
double:双精度浮点 8字节64位
char:固定长度的字符类型
varchar:可变长度字符类型
text:文本
image:图片
decimal(5,2)五个有效长度数字,小数点后面有2位

char与varchar的区别 :

CHAR(4)存储需求VARCHAR(4)存储需求
‘’’ ’4个字节‘’1个字节
‘ab’'ab ’4个字节‘ab’3个字节
‘abcd’‘abcd’4个字节‘abcd’5个字节
‘abcdefgh’‘abcd’4个字节‘abcd’5个字节

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

字节大小:

  • char无论是否有值,都会占用固定长度的字节大小,保存在磁盘上都是4字节。
  • varchar在保存字符时,默认会加一个隐藏的结束符,因此结束符会多算一个字节。

优劣比较:

  • varchar比char节省磁盘空间。
  • 但varchar类型的数据读写速度比char慢,因为char是连续的磁盘空间,e而varchar在多次增删改查中会产生一些磁盘空间碎片

浮点数的含义:
float(m,d)

设个字段定义为float(6,3),如果插入一个数123.4578实际存入库里的是123.457,整数部分最大是3位,如果插入数12.123456,存储的是12.1234,如果插入12.12,存储的是12.1200

三、数据库的操作

3.1查看数据库的结构

1、查案看当前数据库

show databases;

在这里插入图片描述

2、查看数据库当中包含的表
方法一:
use 数据库名;
show tables;

在这里插入图片描述

方法二:
show tables from 数据库名

在这里插入图片描述

3、查看表的结构

use 数据库名;
desc 表名;

在这里插入图片描述

SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、

SQL语言分类:

  • DDL: 数据定义语言,用于创建数据库对象,如库、表、索引等
  • DML:数据操纵语言,用于对表中数据进行管理
  • DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
  • DCL:数据控制语言,用于设置或者更改数据库用户或角色权限

3.2创建及删除数据库和表

1、创建新的数据库

create database 新的数据库名;

在这里插入图片描述

2、创建新的表

use 数据库名;
create table 新的表名 (字段一 数据类型,字段二 数据类型,primary key (主键名));

  • 主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

在这里插入图片描述

3、删除指定的数据表

drop 数据库名.数据表名;
在这里插入图片描述

4、删除数据库名

drop database 数据库名;

在这里插入图片描述

3.3管理表中的数据记录

use class;
insert into 数据库名 (字段一,字段二,字段三)values (记录1,记录2,记录3);

在这里插入图片描述

2、查询数据记录

select * from 表名;

在这里插入图片描述

select * from 数据表名 limit 2; # 查看表的前两行

在这里插入图片描述

select * from 数据表名 limit 2,3; #查看表前两行的后三行

在这里插入图片描述

select * from 数据表名 where 表达式;#查询表中所有符合条件的

3、修改数据表中的数据记录

update 数据表名 set 字段1=字段值1,字段2=字段值2 where 条件表达式;

在这里插入图片描述

4、删除数据

delete from 数据表名 where 表达式;

在这里插入图片描述

3.4修改表名和表结构

1、修改表名

alter table 旧表名 rename 新表名;

在这里插入图片描述

2、拓展表结构

alter table 数据表名 add 新的字段 数据类型 default ‘默认值’

在这里插入图片描述

3、修改字段名,并添加唯一值

alter table 数据表名 change 旧字段名 新字段名(数据类型) unique key;

在这里插入图片描述

4、删除字段

alter table 数据表名 drop 字段名;

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

11.JavaWeb-Spring框架

1.Spring概念 Spring框架是一个轻量级开源的应用程序框架,用于开发Java企业级应用程序。它提供了一种综合的编程和配置模型,可以帮助开发人员构建灵活、可扩展且易于维护的应用程序。 Spring的根本使命:简化Java开发 【Spring给予了Java新生】…

文心一言 VS 讯飞星火 VS chatgpt (40)-- 算法导论5.4 4题

四、一次聚会需要邀请多少人,才能让其中 3 人的生日很可能相同? 文心一言: 为了解决这个问题,我们需要先计算出所有可能的生日组合数,然后计算出其中生日相同的组合数。 已知需要邀请的人数为:23人 根据组合数公式…

大数据开发之Hive案例篇12:HDFS rebalance 一例

文章目录 一. 问题描述二. 解决方案2.1 增加节点2.2 rebalance2.3 rebalance引发的问题 一. 问题描述 公司的离线数仓是CDH集群,19个节点,HDFS存储空间大约400TB左右,使用量在200TB左右。 由于历史遗留的问题,数据仓库需要重构&a…

将Qtcreator编译器、调试器等配置为MSVC2017/2019

目录 1. 前言 2. 工具/原料 2.1. 安装Windows下的软件开发调试器 3. 配置Qtcreator 1. 前言 安装Qt或Qtcreator时,一般选择MinGW 64-bit或MSVC编译器。对于MinGW 64-bit很简单,一般安装后会自动在Qtcreator配置好,不用费心就可以进行开发…

一种对不同类型齐格勒-尼科尔斯 P-I-D 控制器调谐算法研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

基于NIM_DUILIB_FRAMEWORK框架的网易云信demo:NIM_PC_DEMO

NIM_PC_DEMO 网易云信 PC IM Demo 是基于网易云信 PC SDK 制作的即时通讯示例程序,UI 库使用 NIM Duilib 制作。 github地址:。 1、预览 2、最低要求 CMake 3.10 或以上版本。Visual Studio 2017 或以上版本。Git。 3、开发步骤 NIM Demo 从 8.4.0 版本开始使…

selenium面试题总结

今天有同学问到seleinum面试的时候会问到的问题,随便想了想,暂时纪录一下。欢迎大家在评论中提供更多问题。 1.selenium中如何判断元素是否存在? selenium中没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素异常捕获…

Java网络开发(Tomcat同步数据增删改查)—— 用Jsp语法实现同步请求的 增删改查

目录 引出显示所有数据到前端(1)前端代码:list.jsp(2)后端代码:CompanyListServlet.java 新增数据---转发类型信息---新增信息业务(1)在list.jsp页面点击添加(2&#xff…

don‘t have write permissions for the /System/Library/Frameworks/Ruby.framework

don’t have write permissions for the /System/Library/Frameworks/Ruby.framework sudo gem install sigh或sudo gem install -n /usr/local/bin cocoapods --pre出现: appleCQIMAC-L1A9Q05R ~ % sudo gem update --system Password: Updating rubygems-update F…

社会心理学(1) 社会心理学的定义

今天开始 我们一起学习一门课程 社会心理学 社会心理学 他是 应用心理学 或者 心理学专业的一个必修课 吴江霖教授说过 心理学应该分为两大分支 生理心理学 和 社会心理学 如果认同他的观点 那么 社会心理学可谓是相当重要了 社会心理学的定义之广可以说 有多少社会心理学教…

书山有路勤为径 学海无涯苦作舟(AI引领时代浪潮)

书山有路勤为径 学海无涯苦作舟 AI模型是如何训练的? 数据准备 在训练AI模型之前,需要准备大量的数据集。数据集的质量和多样性直接影响模型训练的效果。数据集准备的主要工作包括: 数据清洗:清除数据中的噪声、错误、重复等不…

STM32单片机(六)TIM定时器 -> 第一节:TIM定时中断

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

震惊!kratos的make命令windows下无法使用

Make 命令 kratos想在windows下开发的舒服,各种 命令必须得支持,不然一个protoc就是噩梦,好在官方内置了一些make api这样的命令,坏在windows不支持make命令😂 MinGw 百度一搜大概是MinGW 这么个东西,这…

【Linux】软硬链接与动静态库

环境:centos7.6,腾讯云服务器 Linux文章都放在了专栏:【 Linux 】欢迎支持订阅 🌹 相关文章: 【Linux】动静态库以及动静态链接 【Linux】基础IO_文件系统 软硬链接 软链接 我们知道,每一个文件都会有自己…

TypeScript学习(1)- ts基础配置介绍

目录 TypeScript是什么? TypeScript开发环境搭建 TypeScript是什么? 以JavaScript为基础构建的语言一个JavaScript的超集typescript扩展了JavaScript,并添加了类型可以在任何支持JavaScript的平台中执行TS不能被js解析器直接执行&#xff0…

【多线程与高并发】- 锁的机制与底层优化原理

锁的机制与底层优化原理 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 一个有梦有戏的人 怒放吧德德 🌝分享学习心得,欢迎指正&#…

c语言第二课------地基打牢,基础打紧,不可放弃

作者前言: 欢迎小可爱们前来借鉴我的gtieehttps://gitee.com/qin-laoda 目录 变量的作用域和生命周期 常量 字符串转义字符注释 选择语句 循环语句 函数 _________________________________________________ 这次我们接着上一篇博客,我们接着来继续C语言的学习 变量的作用…

四十六、B+树

这一次我们来介绍B树。 一个m阶的B树具有如下几个特征&#xff1a; 1.根结点至少有两个子女。 2.每个中间节点都包含k-1个元素和k个孩子&#xff0c;其中 m/2 < k < m 3.每一个叶子节点都包含k-1个元素&#xff0c;其中 m/2 < k < m 4.所有的叶子结点都位于同一层。…

Python学习ing

Python中 字符串不能通过 &#xff0c;把 数字等非字符串&#xff0c;进行拼接&#xff0c; 但Javascript中是可以的。 会把数字自动转换成字符串&#xff0c; 但python 提供了占位符 %s % 占位符 city "徐州" age 20 message "我是%s人,今天%s岁" …

面向对象继承

2. 面向对象特征二&#xff1a;继承(Inheritance) 2.1 继承的概述 说到继承我们会想到什么 在Java面向对象程序设计中的继承&#xff0c;多个类中存在相同属性和行为时&#xff0c;将这些相同的内容抽取到单独一个类&#xff08;父类&#xff09;中&#xff0c;然后所有的类继…