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

数据库基础01

文章目录

  • 一、数据库的基本概念
    • 1.1 MySQL的安装和使用
    • 1.2 数据模型
      • 1.2.1 关系型数据库(RDBMS)
      • 1.2.2 数据模型
  • 二、SQL语句
    • 2.1 sql通用语法
    • 2.2 SQL语句分类
  • 三、DDL的相关语法
    • 3.1 数据库操作
    • 3.1.1 查询语法
      • 3.1.2 创建语法
      • 3.1.3 删除数据库
      • 3.1.4 切换数据库
    • 3.2 表操作
      • 3.2.1 查询所有表
      • 3.2.2 查看指定表结构
      • 3.2.3 创建表结构
      • 3.2.4 表的修改
      • 3.2.4 表的删除
  • 四、图形可视化工具

一、数据库的基本概念

在这里插入图片描述

1.1 MySQL的安装和使用

它提供了两种版本,一种是免费的社区版,另一种则是收费的商业版,这里主要使用的是社区版
下载地址:点击这里

在这里插入图片描述
在这里插入图片描述
接下来的安装步骤教程很多,作为初学者都默认并下一步最为保险:-)。

在这里插入图片描述
这里会将sql服务注册成一个系统服务MySQL80,用于后期的启动和关闭


在这里插入图片描述
在这里可以启动和关闭系统服务
在这里插入图片描述


为系统添加环境变量
将如下路径添加到系统的环境变量中
在这里插入图片描述
这样就可以在系统的cmd中直接运行sql了
在这里插入图片描述

1.2 数据模型

1.2.1 关系型数据库(RDBMS)

概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
而所谓二维表,指的是由行和列组成的表,如下图(就类似于Excel表格数据,有表头、有列、有行,还可以通过一列关联另外一个表格中的某一列数据)。我们之前提到的MySQL、Oracle、DB2、SQLServer这些都是属于关系型数据库,里面都是基于二维表二维表就是类似于excel的表)存储数据的。

简单说,基于二维表存储数据的数据库就成为关系型数据库,不是基于二维表存储数据的数据库,就是非关系型数据库。

1.2.2 数据模型

MySQL是关系型数据库,是基于二维表进行数据存储的,具体的结构图下:
在这里插入图片描述

  • 我们可以通过MySQL客户端连接数据库管理系统DBMS,然后通过DBMS操作数据库。
  • 可以使用SQL语句,通过数据库管理系统操作数据库,以及操作数据库中的表结构及数据。
  • 一个数据库服务器中可以创建多个数据库,一个数据库中也可以包含多张表,而一张表中又可以包含多行记录。

二、SQL语句

2.1 sql通用语法

在学习具体的SQL语句之前,先来了解一下SQL语言的同于语法。

  1. SQL语句可以单行或多行书写,以分号;结尾。
  2. SQL语句可以使用空格或/缩进来增强语句的可读性。
  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  4. 注释:
    • 单行注释:-- 注释内容 或 # 注释内容
    • 多行注释:/* 注释内容 */

2.2 SQL语句分类

SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。
在这里插入图片描述

三、DDL的相关语法

Data Definition Language(DDL),数据定义语言,用来定义数据库对象(数据库,表,字段)

3.1 数据库操作

3.1.1 查询语法

查询所有数据库

show databases ;

运行结果:
在这里插入图片描述


查询当前数据库

select database() ;

3.1.2 创建语法

create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序
规则 ] ;

用法举例:
在这里插入图片描述
在这里插入图片描述

3.1.3 删除数据库

 drop database [ if exists ] 数据库名 ;

如果删除一个不存在的数据库,将会报错。此时,可以加上参数 if exists ,如果数据库存在,再执行删除,否则不执行删除。

3.1.4 切换数据库

 use 数据库名 ;

我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。
比如,切换到iii数据库,执行如下SQL,之后可以查看当前的数据库:
在这里插入图片描述

3.2 表操作

3.2.1 查询所有表

show tables;

可以先用use语法切换到数据库并查表

3.2.2 查看指定表结构

desc 表名 

用法举例:
在这里插入图片描述

3.2.3 创建表结构

在这里插入图片描述

用法举例:
在这里插入图片描述
注意:每个字段之后的逗号是否添加


对于创建表时的数据类型可以有:数值类型、字符串类型、日期时间类型。

数值类型

在这里插入图片描述

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

  • char和varchar在使用时会跟上括号作为字符长度
    日期和时间类型
    在这里插入图片描述

3.2.4 表的修改

表的修改以alter开头
添加字段

 ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

用法举例
为emp表增加一个新的字段”昵称”为nickname,类型为varchar(20)

 ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';

修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

将emp表的nickname字段修改为username,类型为varchar(30)

ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';

删除字段

ALTER TABLE 表名 DROP 字段名;

将emp表的字段username删除

ALTER TABLE emp DROP username;

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

将emp表的表名修改为 employee

ALTER TABLE emp RENAME TO employee;

3.2.4 表的删除

删除表

DROP TABLE [ IF EXISTS ] 表名;

可选项 IF EXISTS 代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不加该参数项,删除一张不存在的表,执行将会报错)。

删除指定表, 并重新创建表

 TRUNCATE TABLE 表名;

注意: 在删除表的时候,表中的全部数据也都会被删除。

四、图形可视化工具

教程中使用的是datagrip,自行搜索安装教程
创建新工程
在这里插入图片描述
链接mysql
在这里插入图片描述
在这里插入图片描述
成功后点击apply和ok

展示当前sql下的所有数据库
在这里插入图片描述


创建数据库
在这里插入图片描述
创建表
在这里插入图片描述
数据库和表的修改与创建类似

在这里插入图片描述
还可以通过之前所学的方法用语句来修改表


http://www.kler.cn/a/319131.html

相关文章:

  • 数据库SQL——连接表达式(JOIN)图解
  • 2024年11月13日
  • 使用 Visual Studio Installer 彻底卸载 Visual Studio方法与下载
  • 鸿蒙next版开发:相机开发-元数据(ArkTS)
  • 嵌入式硬件杂谈(一)-推挽 开漏 高阻态 上拉电阻
  • Web大学生网页作业成品——婚礼婚纱网页设计与实现(HTML+CSS)(6个页面)
  • 《使用 LangChain 进行大模型应用开发》学习笔记(四)
  • 【图论】最短路应用
  • 封面设计用什么软件最高效?分享5款新手必备工具
  • 数据报文解析
  • 【CSS】变量的声明与使用
  • 水电站/水库大坝安全监测系统完整解决方案
  • 抖音上下边框中间视频效果怎么做
  • 效率提升的秘密武器在快速编程领域的应用与探索
  • GPU架构原理与CUDA编程原理
  • 数据结构 ——— 常见的时间复杂度计算例题(中篇)
  • uniapp 中集成 axios 封装request,实现若依权限认证和若依 api方法共用
  • mysql学习教程,从入门到精通,SQL 联表查询(Join)(21)
  • Apache ZooKeeper 及 Curator 使用总结
  • 谷歌云推出全新区块链RPC服务:简化Web3开发
  • 设置VsCode搜索时排除文件,文件列表中隐藏文件
  • 5 php7.4中开发一个websocket 聊天 好友例表展示
  • 兼职副业想挖漏洞该用什么工具?零基础入门到精通,收藏这一篇就够了
  • python 实现support vector machines支持向量机算法
  • node-red-L1-如何设置让局域网可以访问?
  • 人工智能有助于解决 IT/OT 集成安全挑战