• 【MySQL】初步认识



    活动地址:CSDN21天学习挑战赛
    作者简介:大家好我是狂暴于涛侠本侠
    🦸个人主页:狂暴于涛侠
    这一次给大家带来MySQL语言基础的讲解(博主也想是借助21天挑战看看自己能学多少,大家就当复习笔记看吧哈哈哈哈!!!)

    🚄1、编程语言概述

    编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。
    机器语言:计算机能够直接识别,不用转换
    汇编语言:编程比机器语言简单的多,但要转换后计算机才能识别。学习起来也不是很难。
    高级语言:编程简单(比汇编还要简单,灵活),但要转换后计算机才能识别。
    而我们现在学的sql就是一种高级语言

    🚄2、SQL语言基础

    👓1、SQL的概述

    SQL的概述

    • SQL全称: Structured Query Language,是结构化查询语言,用于访问和处理数据库的标准的计算机语言。SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。
    • 美国国家标准局(ANSI)开始着手制定SQL标准,并在1986年10月公布了最早的SQL标准,扩展的标准版本是1989年发表的SQL-89,之后还有1992年制定的版本SQL-92和1999年ISO发布的版本SQL-99。
    • SQL标准几经修改和完善,其功能更加强大,但目前很多数据库系统只支持SQL-99的部分特征,而大部分数据库系统都能支持1992年制定的SQL-92。

    👓2、 SQL的特点

    SQL的特点

    • 具有综合统一性,不同数据库的支持的SQL稍有不同
    • 非过程化语言
    • 语言简捷,用户容易接受
    • 以一种语法结构提供两种使用方式

    👓3、SQL语言的组成

    SQL语言的组成

    • 数据定义语言-DDL
    • 数据操纵语言-DML
    • 数据控制语言-DCL
    • 数据查询语言-DQL

    🌊4、语法特点:

    SQL语言的组成

    • SQL 对关键字的大小写不敏感
    • SQL语句可以以单行或者多行书写,以分行结束
    • SQL的注释:
      在这里插入图片描述

    🚄数据库系统

    1、数据库
                    数据库(DB)是一个以某种组织方式存储在磁盘上的数据的集合。
    2、数据库应用
                    数据库应用系统是指基于数据库的应用软件
                    比如:各种管理系统,淘宝

    👓1、数据库管理系统分类:

    • 关系型数据库(RDBMS)

    1、Oracle数据库 (老大,最挣钱的数据库)
    2、MySQL数据库 (最流行中型数据库))
    3、SQL server数据库 (Windows上最好的数据库)
    4、PostgreSQL(功能最强大的开源数据库)
    5、SQLite(最流行的嵌入式数据库)

    • 非关系型数据库(NoSQL)

    1、Redis(最好的缓存数据库)
    2、MongoDB(最好的文档型数据库)
    3、Elasticsearch(最好的搜索服务)
    4、Cassandra(最好的列式数据库)
    5、HBase(优秀的分布式、列式数据库)

    👓2、数据库管理系统(数据库软件)

    数据库管理系统(DBMS)用来创建和维护数据库。例如,SQL Server、Oracle、MySQL等等都是数据库管理系统。

    👓3、关系型数据数据库管理系统组成

    数据库管理系统(DBMS)主要由数据库和表组成,一个系统可以有很多数据库,每个数据库可以有很多表。。

    🚄MySQL简介

    👓1、MySQL的介绍

    MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Sun公司又被Oracle公司收购,因此MySQL目前属于 Oracle 旗下产品。
    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    👓2、MySQL的特点

    ①MySQL数据库是用C和C++语言编写的,以保证源码的可移植性
    ②支持多个操作系统例如:Windows、Linux、Mac OS等等
    ③支持多线程,可以充分的利用CPU资源
    ④为多种编程语言提供API,包括C语言,Java,PHP。Python语言等
    ⑤MySQL优化了SQL算法,有效的提高了查询速度
    ⑥MySQL开放源代码且无版权制约,自主性强、使用成本低。
    ⑧MySQL历史悠久、社区及用户非常活跃,遇到问题,可以很快获取到帮助。

    👓3、MySQL的版本

    • 针对不同的用户,MySQL分为两种不同的版本:

    MySQL Community Server
    社区版本,免费,但是Mysql不提供官方技术支持。

    MySQL Enterprise Edition
    商业版,该版本是收费版本,可以试用30天,官方提供技术支持

    MySQL Cluster
    集群版,开源免费,可将几个MySQL Server封装成一个Server。

    MySQL Cluster CGE
    高级集群版,需付费。

    MySQL Workbench(GUI TOOL)
    一款专为MySQL设计的ER/数据库建模工具。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。


    • MySQL的命名机制使用由3个数字和一个后缀组成的版本号。例如,像mysql-8.0.26的版本号这样解释:
      第1个数字(8)是主版本号,描述了文件格式。所有版本5的发行都有相同的文件格式。
      第2个数字(0)是发行级别。主版本号和发行级别组合到一起便构成了发行序列号。
      第3个数字(26)是在此发行系列的版本号,随每个新分发版递增。
      目前,My SQL的最新版本为MySQL 8.0。

    🚄MySQL数据库基本操作-DDL

    👓1、DDL解释

    DDL(Data Definition Language),数据定义语言,该语言部分包括以下内容:
    对数据库的常用操作

    👓2、对表结构的常用操作

    功能SQL
    查看所有的数据库show databases;
    创建数据库create database [if not exists] mydb1 [charset=utf8]
    切换 (选择要操作的) 数据库use mydb1
    删除数据库drop database [if exists] mydb1;
    修改数据库编码alter database mydb1 character set utf8;
    --   DDL操作之数据库操作   快捷键:ctrl加/键自动注释
    #同样也是注释
    -- 查看所有数据库            滑轮可以改变图形观察器显示字体大小字体大小
    show databases;
    -- 创建数据库 if not EXISTS的意思是如果没有创建 以下两个代码都是创建数据库MYsql1
    create database MYsql1 ;
    create database if not EXISTS MYsql1 ;
    -- 选择使用哪一个数据库
    use mysql1;
    -- 删除数据库   if exists的意思是如果存在就删除
    drop database mysql;
    drop database if exists mysql;
    
    -- 修改数据库编码   现在数据库默认编码都是utf8 其实修不修改作用不大
    alter database mysql CHARACTER set utf8;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    🕶 2-1、对表结构的常用操作-创建表-数据类型

    创建表格式
    create table [if not exists]表名(
    字段名1 类型[(宽度)] [约束条件] [comment ‘字段说明’],
    字段名2 类型[(宽度)] [约束条件] [comment ‘字段说明’],
    字段名3 类型[(宽度)] [约束条件] [comment ‘字段说明’]
    )[表的一些设置];

    -- 在mysql1中创建一个student表 if not exists加不加都行
    -- unsigned代表无符号整形
    use mysql1;
    create  table if not exists student(
        id int unsigned,
        name varchar(20),
        sex varchar(2),
        age int, 
        address varchar(20),
        tel int
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述
    创建表是构建一张空表,指定这个表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型。

    • 数据类型
      数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能存储起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。

    • 数值类型
      在这里插入图片描述

    • 字符串类型
      在这里插入图片描述

    • 日期类型
      在这里插入图片描述

    🕶 2-2、对表结构的常用操作-其他操作

    功能SQL
    查看当前数据库的所有表名称show tables;
    查看指定某个表的创建语句show create table 表名;
    查看表结构desc 表名:
    删除表drop table 表名:
    -- 3.查看当前数据库的所有表
    show tables;
    
    • 1
    • 2
    -- 4.查看指定表的创建语句
    show create table student;
    
    • 1
    • 2

    在这里插入图片描述

    -- 5.查看表的结构
    desc student;
    
    • 1
    • 2

    在这里插入图片描述

    -- 6.删除表
    drop table student;
    
    • 1
    • 2

    🕶 2-2、对表结构的常用操作-修改表结构格式

    • 修改表添加列
      语法格式:alter table 表名 add 列名 类型(长度) [约束];
      例子:
    -- 1.添加列alter table 表名 add 列名 类型(长度) [约束];
    -- 	#为student表添加一个新的字段为:系别 dept 类型为 varchar(20)ALTER TABLE student ADD `hobby` VARCHAR(20); 
    alter table student add hobby varchar(20); 
    
    • 1
    • 2
    • 3

    在这里插入图片描述


    • 修改列名和类型
      语法格式: alter table 表名 change 旧列名 新列名 类型(长度) 约束
      例子:
    -- 2.修改列名和类型 alter table 表名 change 旧列名 新列名 类型(长度) 约束; 
    #为student表的hobby字段更换为interest varchar(30)
    alter table student change hobby interest varchar(30);
    
    • 1
    • 2
    • 3

    在这里插入图片描述


    • 修改表删除列
      语法格式: alter table 表名 drop 列名;
      例子:
    -- 3.修改表删除列 alter table 表名 drop 列名;
    #删除student表中interest这列
    alter table student drop interest;
    
    • 1
    • 2
    • 3

    在这里插入图片描述


    • 修改表名
      语法格式: rename table 表名 to 新表名;
      例子:
    -- 4.修改表名 rename table 表名 to 新表名;
    #将表student改名成 yutao
    rename table student to yutao;
    
    • 1
    • 2
    • 3

    在这里插入图片描述

  • 相关阅读:
    SpringCloud系列(13)--Eureka服务名称修改和服务IP显示
    html在线商城购物网站制作——基于HTML+CSS+JavaScript鲜花礼品电商网站
    JWT靶场通关(3关)
    Python+selenium自动化测试
    Flink学习笔记(一):Flink重要概念和原理
    某讯D-Link AC集中管理平台未授权访问漏洞复现 CNVD-2023-19479
    JAVA多态
    C语言学习教程
    keepalived群集
    对雷达中相位补偿概念的一些理解
  • 原文地址:https://blog.csdn.net/m0_58465176/article/details/126109347