数据库概述和DDL语句(学会并使用数据库day1)

数据库概述和DDL语句(day1)

  • 一、数据库概述
    • 概念
    • 数据库的集中式控制有什么优点
    • 数据库分类
    • mysql数据库
      • mysql简介
      • 基本术语
      • 数据表的组成
    • 数据库管理系统
    • 数据库管理系统、数据库和表的关系
  • 二、SQL的概念
  • 三、SQL语句分类
    • 1、SQL语句被分为四大类
    • 2、MySQL的语法
  • 四、DDL操作数据库
    • 1、创建数据库的几种方式
    • 2、查看数据库
    • 3、修改数据库
    • 4、删除数据库
    • 5、使用数据库
  • 五、DDL操作表结构
    • 1、创建表
    • 2、MySQL中数据类型(常用)
    • 3、MySQL中详细数据类型
      • 数据类型的长度设置
    • 4、详细操作
      • 4.1 创建表
      • 4.2 查看表
      • 4.3操作表
      • 4.3修改表的结构
    • navicat和破解工具

一、数据库概述

概念

数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术

和市场的发展,特别是二十世纪九十年代后,数据管理不再仅仅是存储和管理数据,而转变成用户所需

要的的各种数据管理方式。数据库有多种类型,从最简单的存储有各种数据的表格到能够海量数据存储

的大型数据库系统,都在各个方面得到了广泛的应用。

数据库的集中式控制有什么优点

  1. 降低存储数据的冗余度
  2. 更高的数据一致性
  3. 存储数据的可以共享
  4. 可以建立数据库所遵循的标准
  5. 便于维护数据完整性
  6. 能够实现数据的安全性

数据库分类

  1. 关系型数据库 ---->MySQL、SqlServer、Oracle
  2. 非关系型数据库---->Redis、Mongodb

mysql数据库

mysql简介

数据库是按照数据结构来组织、存储和管理数据的仓库,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的的各种数据管理方式。数据库有多种类型,从最简单的存储有各种数据的表格到能够海量数据存储的大型数据库系统,都在各个方面得到了广泛的应用。

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

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

基本术语

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 字段(Field):表中的每一列被称为字段,用于存储特定类型的数据,比如姓名、年龄、地址等。
  • 记录(Record):表中的每一行被称为记录,表示一个完整的数据项,包含多个字段的值。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • **外键:**外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • **索引:**使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

数据表的组成

  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。

数据库管理系统

数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软

件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。

用户通过数据库管理系统访问数据库中表内的数据。

数据库管理系统、数据库和表的关系

数据库管理程序(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为
保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。
在这里插入图片描述
注意

  1. 一个数据库服务器包含多个数据库
  2. 一个数据库包含多张表
  3. 一张表包含多条记录

二、SQL的概念

SQL(Structured Query Language):结构化查询语言。

1、SQL作用

  1. 是一种所有关系型数据库的查询规范,不同的数据库都支持;
  2. 通用的数据库操作语言,可以用在不同的数据库中;
  3. 不同的数据库SQL语句有一些区别。

三、SQL语句分类

1、SQL语句被分为四大类

  1. 数据定义语言DDL(Data Definition Language):建表,建库

  2. 数据查询语言DQL(Data Query Language):对表中的查询操作

  3. 数据操纵语言DML(Data Manipulation Language):对表中的记录操作增删改

  4. 数据控制功能DCL(Data Control Language):用户权限的设置

2、MySQL的语法

  1. 每一条SQL语句都是以分号(英文状态)结束,但是在Navicat中是可以不加分号的;
  2. SQL中是不区分大小写,关键字中认为大小写一样;
  3. 注释的三种方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-82xY7zzz-1690207061286)(E:\myapp\typora\笔记文件夹\数据库\imgs02\image-20230716180310691.png)]

四、DDL操作数据库

1、创建数据库的几种方式

  1. 创建数据库
# 格式
CREATE DATABASE 数据库名;
# demo
create database demo;
  1. 判断数据库是否已经存在,不存在则创建数据库
# 格式
CREATE DATABASE IF NOT EXISTS 数据库名;
# demo
create database if not exists demo;
  1. 创建数据库并指定字符集
# 格式
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
# demo
create database demo character set utf8 ;

2、查看数据库

  1. 查看所有数据库
show databases;
  1. 查看某一个数据库
show create database demo;

3、修改数据库

修改数据库默认的字符集

# 格式
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
# demo
ALTER DATABASE demo DEFAULT CHARACTER SET utf8mb4;

4、删除数据库

  1. 直接删除数据库
# 格式
DROP DATABASE 数据库名;
# demo
DROP DATABASE demo;
  1. 判断数据库存在,再删除
# 格式
DROP DATABASE IF EXISTS 数据库名;
# demo
DROP DATABASE IF EXISITS demo;

5、使用数据库

  1. 查看正在使用的数据库
SELECT DATABASE();

在这里插入图片描述
2.使用和切换数据库

# 格式
use 数据库名;
# demo
use demo;

五、DDL操作表结构

1、创建表

# 格式
CREATE TABLE 表名(
字段名1 字段类型1,
字段名2 字段类型2
);

注意

  1. 创建表,必须先选择要使用数据库;
  2. CREATE,TABLE是两个关键字;
  3. 字段类型要给大小。

2、MySQL中数据类型(常用)

在这里插入图片描述

3、MySQL中详细数据类型

在这里插入图片描述

数据类型的长度设置

  1. 字符类型长度设置

在MySQL中,常用的字符类型包括CHAR、VARCHAR、TEXT等。其中,CHAR和VARCHAR类型表示定长和变长字符串,长度需要根据实际情况进行设置。如果需要存储10个字符的字符串,可以使用CHAR(10)或VARCHAR(10)。需要注意的是,VARCHAR类型的长度不要超过65535,否则会出现存储问题。

  1. 数字类型长度设置

MySQL中的数字类型包括INT、BIGINT、FLOAT、DOUBLE等。如果需要存储一个范围在0-255之间的整数,可以使用TINYINT UNSIGNED类型,长度为1字节。如果需要存储一个范围在-2147483648到2147483647之间的整数,可以使用INT类型,长度为4字节。

  1. 日期类型长度设置

MySQL中的日期类型包括DATE、DATETIME、TIMESTAMP等。如果需要存储一个日期,可以使用DATE类型,长度为3字节。如果需要存储一个日期和时间,可以使用DATETIME类型,长度为8字节。

  1. 其他类型长度设置

MySQL中还有其他类型,例如BLOB、ENUM、SET等。如果需要存储一个最大长度为65535字节的二进制数据,可以使用MEDIUMBLOB类型,长度为3字节。

总结:MySQL建表长度的设置非常重要,可以避免数据存储出现问题。在设置长度时,需要根据实际情况进行调整,避免长度过长或过短。如果不确定长度,可以选择使用默认长度。

4、详细操作

4.1 创建表

employee表包含 id,name,birthday 字段

CREATE TABLE IF NOT EXISTS employee(
id int(11),
name VARCHAR(22),
birthday date
);	

表创建成功
在这里插入图片描述

4.2 查看表

  1. 查看某个数据库中的所有表
SHOW TABLES;
  1. 查看表的结构
# 格式
DESC 表名
# demo
DESC employee;
  1. 查看创建表的SQL语句
# 格式
SHOW CREATE TABLE 表名;
# demo
SHOW CREATE TABLE employee;

4.3操作表

  1. 快速创建一个表结构相同的表
# 格式
CREATE TABLE 新表名 LIKE 旧表名;
# demo
CREATE TABLE newEmployee LIKE employee;
  1. 删除表
# 直接删除
# 格式
DROP TABLE 表名;
# demo
drop table newEmployee ;
# 判断是否存在再删除
# 格式
DROP TABLE IF EXISTS 表名;
# demo
drop table if exists `employee`;

4.3修改表的结构

  1. 添加表中的字段
# 格式
ALTER TABLE 表名 ADD 列名 类型;
# demo
ALTER TABLE employee ADD age int(3);
  1. 修改列类型 MODIFY
# 格式
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
# demo
ALTER TABLE employee CHANGE age new_age int(4);
  1. 删除列 DROP
# 格式
ALTER TABLE 表名 DROP 列名;
# demo
ALTER TABLE employee DROP new_age;
  1. 修改表名
# 格式
RENAME TABLE 表名 TO 新表名;
# demo
rename table employee to employee1;
  1. 修改字符集
# 格式
ALTER TABLE 表名 character set 字符集;
# demo
ALTER TABLE employee character set utf8mb4;

navicat和破解工具

链接:https://pan.baidu.com/s/1Atd-1S6PbNCDyKRSwrOFQQ?pwd=yang
提取码:yang

破解步骤,大家就网上随便搜一篇就行了,还是比较简单的。

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

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

相关文章

Databend 开源周报第 103 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 创建网络策略 …

Blender自动化脚本,无人值守批量渲图/渲视频

渲染视频是个非常耗时的大工程,如果要渲染多个视频或者每个视频还需要切换不同的贴图、颜色等,工作量就更离谱了,所以不得不用脚本实现自动化。 Blender的脚本是用Python编写,比PS的js要方便很多。再下载一套Blender对应版本的AP…

24.实现线性拟合和相关系数(matlab程序)

1.简述 1. 基本语法 1.1 corr函数基本语法 语法 说明 rho corr(X) 返回输入矩阵X中每对列之间的两两线性相关系数矩阵。 rho corr(X, Y) 返回输入矩阵X和Y中每对列之间的两两相关系数矩阵。 [rho, pval] corr(X, Y) 返回pval,一个p值矩阵&#xff0c…

redis安装

安装redis 安装依赖环境 yum install -y gcc cd /opt tar -xf redis-5.0.7.tar cd redis-5.0.7/ make && make install PREFIX/usr/local/redis installvim /opt/redis-5.0.7/utils/install_server.shcd /opt/redis-5.0.7/utils ./install_server.sh Please select the…

极简并优雅的在IDEA使用Git远程拉取项目和本地推送项目

连接Git 搜索Git然后将你下载好的Git的文件目录位置给他弄进去就行 本地分支管理 分支管理通常是在IDEA的右下角找到 连接远程仓库 方法1本地项目推送到远程仓库 如果当前项目还没交给Git管理的则按照以下图所示先将项目交给Git管理 然后此时文件都会是红色的,这表…

c++ 职责链+策略模式,实现链式过程处理

想象一下一件商品的加工,需要经过多道工艺流程处理。这一道道工艺流程就像是一个职责链,从头到尾传递。就好像网络传输时,消息发送到对端主机,经过协议栈,在这个过程中,它在不同的协议栈层级中被一层层抽丝…

《实战AI模型》——赶上GPT3.5的大模型LLaMA 2可免费商用,内含中文模型推理和微调解决方案

目录 准备环境及命令后参数导入: 导入模型: 准备LoRA: 导入datasets: 配置Config:

C# 存在重复元素

217 存在重复元素 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例 1: 输入:nums [1,2,3,1] 输出:true 示例 2: 输…

从小白到大神之路之学习运维第67天-------Tomcat应用服务 WEB服务

第三阶段基础 时 间:2023年7月25日 参加人:全班人员 内 容: Tomcat应用服务 WEB服务 目录 一、中间件产品介绍 二、Tomcat软件简介 三、Tomcat应用场景 四、安装配置Tomcat 五、配置目录及文件说明 (一)to…

docker版jxTMS使用指南:站点的调整

本文讲解4.4版jxTMS中的站点的调整,整个系列的文章请查看:[docker版jxTMS使用指南:docker版jxTMS使用指南:4.4版升级内容 docker版本的使用,请查看:docker版jxTMS使用指南 4.0版jxTMS的说明,请…

zabbix钉钉报警

登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群内. 然后点击群右上角 的"群机器人"->"添加机器人"->"自定义", 记录该机器人的webhook值。 添加机器人 在钉钉群中,找到只能群助手 添加机器人 选择自定义机…

【玩转Linux】文件的一些概念

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

怎样接入chatGPT

官网链接: OpenAI platform

Unity Coroutine 协程

Unity Coroutine 是一种在 Unity 引擎中实现异步编程的技术,它可以让你在多个帧中分段执行一个函数,而不是一次性地执行完毕。Coroutine 可以使用 yield 语句来暂停和恢复执行,从而实现一些复杂的逻辑和效果,如时间延迟、循环动画…

UE4/5C++多线程插件制作(十四、MTPAbandonable)

目录 MTPAbandonable h实现 cpp实现 MTPMarco.h 首先是异步任务的宏定义部分:

IDEA+SpringBoot +ssm+ Mybatis+easyui+Mysql求职招聘管理系统网站

IDEASpringBoot ssm MybatiseasyuiMysql求职招聘管理系统网站 一、系统介绍1.环境配置 二、系统展示1. 登录2.注册3.首页4.公司5.关于我们6.我的简历7.我投递的简历8.修改密码9. 管理员登录10.我的信息11.用户信息12.职位类别13. 职位列表14. 公司列表15. 日志列表 三、部分代码…

【Rust 基础篇】Rust 封装

导言 在 Rust 中,封装是一种面向对象编程的重要概念,它允许将数据和相关的方法组合在一起,形成一个独立的单元。通过封装,我们可以隐藏数据的实现细节,只暴露需要对外部使用的接口,从而提高代码的可维护性和安全性。本篇博客将详细介绍 Rust 中封装的概念,包含代码示例…

Visual Studio 2022 cmake配置opencv开发环境

1. 环境与说明 这里我用的是 widnows 10 64位,Visual Studio 用的 Visual Studio Community 2022 (社区版) 对于Android开发工程师来说,为什么要使用Visual Studio 呢 ? 因为在Visual Studio中开发调试OpenCV方便,可以开发调试好后&#xf…

Transformer+医学图像最新进展【2023】

Transformer主要用于自然语言处理领域。近年来,它在计算机视觉(CV)领域得到了广泛的应用。医学图像分析(MIA,Medical image analysis)作为机器视觉(CV,Computer Vision)的一个重要分支,也极大地受益于这一最先进的技术。 机构:新加坡国立大学机械工程系、中山大学智能系…

基于Eisvogel模板的Markdown导出PDF方法

Requirements 模板地址:Wandmalfarbe/pandoc-latex-template Pandoc:Pandoc官网 Latex环境:例如TexLive Pandoc参数 --template"模板存放位置" --listings --pdf-enginexelatex --highlight-style kate -V CJKmainfontSimSun -V C…