数据库及数据表的相关操作(一)

目录

    • 概念知识
    • 一、管理逻辑库与数据表
    • 二、常用数据类型和约束
      • 2.1 数字数据类型
      • 2.2 字符串数据类型
      • 2.3 日期数据类型
      • 2.4 字段约束
    • 三、索引运行机制和使用原则
      • 3.1 创建索引
      • 3.2 添加与删除索引
      • 3.3 索引的使用原则

概念知识

  • 关系型数据库: 使用了关系模型的数据库系统,数据分类存放,数据之间可以有联系。多线程

    产品: MySQL、DB2、Oracle、SQL Server

  • 非关系型数据库(NoSQL): 数据分类存放,但数据之间没有关联关系的数据库系统,关系型数据库的一种补充。

    产品: Redis、MemCache、MongoDB、Neo4J

    例子: 新闻、秒杀库存、登录信息、消息通知。防止多线程争抢资源,Redis单线程,读写速度快

配置文件
在这里插入图片描述

一、管理逻辑库与数据表

sql语言的分类:

​ DML数据操作语言:对数据的增删改查

​ DCL数据控制语言 :创建用户、分配权限、事务管理

​ DDL数据定义语言:逻辑库、数据表、视图、索引


逻辑空间的操作:

# 查寻逻辑空间
SHOW DATABASES;
# 创建逻辑空间
CREATE DATABASE demo;
# 删除逻辑空间
DROP DATABASE demo;

数据库表结构的修改:

CREATE DATABASE my;# 切换my数据库
use my;# 显示数据库表
SHOW TABLES;# 创建数据库表
CREATE TABLE student(id INT UNSIGNED PRIMARY KEY,name VARCHAR(20) NOT NULL,sex CHAR(1) NOT NULL,birthday DATE NOT NULL,tel char(11) NOT NULL,remark VARCHAR(200)
);# 向数据库表中插入一行数据
INSERT INTO student VALUES(1, "李强", "男", "2002-02-12", "12765489865", NULL);
# 删除数据库表
DROP TABLE student;# 展示字段类型及约束
DESC student;# 向表中增加字段
ALTER TABLE student 
ADD address VARCHAR(200) NOT NULL,
ADD home_tel VARCHAR(11) NOT NULL;# 删除表中的字段
ALTER TABLE student
DROP address,
DROP home_tel;# 修改字段类型和约束
ALTER TABLE student
MODIFY home_tel CHAR(11) NOT NULL;# 修改字段名称及类型、约束
ALTER TABLE student 
CHANGE home_tel home_telp Char(11) NOT NULL;# 修改表名
ALTER TABLE student RENAME tb_student;
# 删除数据表
DROP TABLE t_student;

二、常用数据类型和约束

2.1 数字数据类型

在这里插入图片描述

2.2 字符串数据类型

在这里插入图片描述

2.3 日期数据类型

2.4 字段约束

数据库的范式: 构造数据库遵循的规则

  1. 原子性:要求每一列都是不可分割的基本数据项
  2. 唯一性:主键列标识
  3. 关联性:每列都与主键有直接关系,不存在传递依赖
约束名称关键字描述
主键约束PRIMARY KEY字段值唯一,且不能为NULL
非空约束NOT NULL字段值不能为NULL
唯一约束NUIQUE字段值唯一,且可以为NULL
外键约束FOREIGN KEY保持关联数据的逻辑性

外键约束是定义在子表上的

三、索引运行机制和使用原则

索引建立的好处:MySQL利用二叉树结构,对数据表的记录排序,加快检索速度

3.1 创建索引

CREATE TABLE 表名称(...,# []内的内容可写可不写INDEX [索引名称](字段)...
);

3.2 添加与删除索引

添加索引

CREATE INDEX 索引名称 ON 表名(字段);
ALTER TABLE 表名称 ADD INDEX [索引名](字段);

显示表中的所有索引

SHOW INDEX FROM 表名;

删除索引

DROP INDEX 索引名称 ON 表名;

3.3 索引的使用原则

  1. 数据量很大,经常被查询的数据表可以设置索引
  2. 索引只添加在经常被用做检索条件的字段上面
  3. 不要在大字段上创建索引
# 创建一个部门表
CREATE TABLE tb_dept(deptno INT UNSIGNED PRIMARY KEY,dename VARCHAR(20) NOT NULL UNIQUE,tel CHAR(4) UNIQUE,# 创建索引INDEX idx_tel(tel)
);# 删除索引
DROP INDEX idx_tel ON tb_dept;# 添加索引,两种方式
CREATE INDEX idx_tel ON tb_dept(tel);
ALTER TABLE tb_dept ADD INDEX idx_tel(tel);# 显示表中所有的索引	
SHOW INDEX FROM tb_dept;# 创建一个员工表
CREATE TABLE tb_emp(empno INT UNSIGNED PRIMARY KEY,ename VARCHAR(20) NOT NULL,sex ENUM("男", "女") NOT NULL,deptno INT UNSIGNED NOT NULL,hiredate DATE NOT NULL,FOREIGN KEY (deptno) REFERENCES tb_dept(deptno)		# 当前的deptno关联到tb_dept表的deptno字段
);

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

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

相关文章

深度学习——CNN卷积神经网络

基本概念 概述 卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习中常用于处理具有网格结构数据的神经网络模型。它在计算机视觉领域广泛应用于图像分类、目标检测、图像生成等任务。 核心思想 CNN 的核心思想是通过利用局部…

MySQL-DQL-聚合函数

目录 聚合函数 注意事项 聚合函数 介绍:将表中的数据作为一个整体,进行纵向计算语法:select 聚合函数(字段列表) from 表名SUM 求和COUNT 统计数量 具体代码 -- 1.统计该企业员工数量--count -- count(字段) select c…

React Native使用本地修改的三方源码

在 React Native 中,你可以使用本地代码而不是使用第三方库的源码来编译你的应用程序。以下是一般的步骤: 在你的项目目录中创建一个名为overrides(或其他适合你的名称)的文件夹。 将修复后的 react-native-wheel-pick 源码复制…

Linux内核源代码的目录结构包括部分:

内核核心代码:这部分代码包括内核的各个子系统和模块,如进程管理、内存管理、文件系统、网络协议栈等。这些代码构成了Linux内核的核心功能。 非核心代码:除了核心代码之外,还包括一些非核心的代码和文件,如库文件、固…

uniapp 在app和小程序端使用webview进行数据交互

结论&#xff1a;app端支持比较好可以做到实时传递&#xff0c;微信小程序支持比较差&#xff0c;小程序向url传参只能通过url&#xff0c;url向app传参需要特定时机(后退、组件销毁、分享、复制链接)触发才能收到消息。 以下是代码 app端(需要使用nvue) <template> <…

和chatgpt学架构03-引入UI框架(elment-plus)

目录 1 项目目录及文件的具体作用1.1 App.vue1.2 main.js的作用1.3 main.js什么时候被调用1.4 npm run serve干了什么事情1.5 package.json的作用 2 安装UI框架2.1 安装命令2.2 全局引入 3 启动工程总结 我们已经安装好了我们的vue脚手架&#xff0c;用vscode打开工程目录 要自…

【FPGA】基于C5的第一个SoC工程

文章目录 前言SoC的Linux系统搭建 前言 本文是在毕业实习期间学习FPGA的SoC开发板运行全连接神经网络实例手写体的总结。 声明&#xff1a;本文仅作记录和操作指南&#xff0c;涉及到的操作会尽量细致&#xff0c;但是由于文件过大不会分享文件&#xff0c;具体软件可以自行搜…

Leetcode-每日一题【109.有序链表转换二叉搜索树】

题目 给定一个单链表的头节点 head &#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为高度平衡的二叉搜索树。 本题中&#xff0c;一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。 示例 1: 输入: head [-10,-3,0,5,9]输出: [0,-3,9,-…

VS报错E1696 无法打开类似于stdio.h等头文件的解决办法

VS报错E1696 无法打开类似于stdio.h等头文件的解决办法 我的VS版本是2022的&#xff0c;然后我今天把同事在VS2017上的code&#xff08;一个完整的解决方案&#xff09;从svn上拿过来。结果发现&#xff0c;一大堆E1696的错误。主要表现就是项目中include的一些常用的c语言基础…

算法竞赛字符串常用操作大全

算法竞赛字符串常用操作总结来啦~ &#x1f44a; 大家好 我是寸铁&#x1f4aa; 考前需要刷大量真题,大家一起相互监督&#xff0c;每日做N题&#xff0c;一起上岸吧✌️ ~ 冲刺蓝桥杯省一模板大全来啦 &#x1f4a5; ~ 蓝桥杯4月8号就要开始了 &#x1f64f; ~ 还没背熟模…

字幕切分视频

Whisper 仓库地址&#xff1a; https://github.com/openai/whisper 可用模型信息&#xff1a; 测试视频&#xff1a;18段&#xff0c;总共447S视频&#xff08;11段前&#xff1a;有11段开头有停顿的视频&#xff09; Tiny: 跑完&#xff1a;142S &#xff0c;11段前&#xf…

(栈队列堆) 剑指 Offer 09. 用两个栈实现队列 ——【Leetcode每日一题】

❓ 剑指 Offer 09. 用两个栈实现队列 难度&#xff1a;简单 用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead …

FreeRTOS中的互斥和同步怎么理解(通俗易懂版)-利用银行取钱和存钱两个任务举例

目录 1. 互斥&#xff08;Mutex&#xff09; 2. 同步&#xff08;Synchronization&#xff09; 通俗易懂的例子加代码 1. 互斥&#xff08;Mutex&#xff09;&#xff1a; 2. 同步&#xff08;Synchronization&#xff09;&#xff1a; 1. 互斥&#xff08;Mutex&#xff…

vscode远程连接提示:过程试图写入的管道不存在(删除C:\Users\<用户名>\.ssh\known_hosts然后重新连接)

文章目录 复现过程原因解决方法总结 复现过程 我是在windows上用vscode远程连接到我的ubuntu虚拟机上&#xff0c;后来我的虚拟机出了点问题&#xff0c;我把它回退了&#xff0c;然后再连接就出现了这个问题 原因 本地的known_hosts文件记录服务器信息与现服务器的信息冲突了…

虚拟机挂载USB设备/USB serial 连接开发板

虚拟机挂载USB设备 1、添加USB设备 2、终端输入&#xff1a;sudo fdisk -l 查看Device设备&#xff1a; 3、创建挂载目录&#xff1a;mkdir /mnt/usb 4、执行挂载命令&#xff1a;sudo mount /dev/sdb1 /mnt/usb ,查看/mnt/usb目录下是否存在U盘中的数据&#xff1a; 5、用…

html实现时钟

1、html代码 <div id"clock"><div><span id"hours"></span><span class"text"> 时 : </span></div><div><span id"minutes"></span><span class"text">…

设计模式——桥梁模式

桥梁模式 定义 桥梁模式&#xff08;Bridge Pattern&#xff09;也叫做桥接模式。 将抽象和显示解耦&#xff0c;使得两者可以独立地变化。 优缺点、应用场景 优点 抽象和实现的解耦。 这是桥梁模式的主要特点&#xff0c;它完全是为了解决继承的缺点而提出的设计模式。优…

流体力学中的湍流强度(turbulence intensity)

流体力学中的湍流强度&#xff08;turbulence intensity&#xff09; 一、定义 湍流强度&#xff08;turbulence intensity&#xff09;也被称为湍流级&#xff08;turbulence level&#xff09;&#xff0c;被定义为&#xff1a; I ≡ u ′ U I \equiv \frac{u}{U} I≡Uu′…

成为一个年薪30W+的DFT工程师是一种什么体验?

一直以来&#xff0c;DFT都是数字IC设计行业中相对神秘的一个岗位。 你说他重要吧&#xff0c;并不是所有芯片设计公司都有这个岗位&#xff0c;你说他不重要吧&#xff0c;但凡芯片产品达到一定规模后&#xff0c;就必须设置DFT部门。 一、什么是DFT&#xff1f; DFT&#x…

原生信息流广告APP应用内增收及计费模式

比起传统的广告宣传&#xff0c;信息流最大的优势就在于流量的庞大。与此同时&#xff0c;多样化的信息流广告形式和精准的定向&#xff0c;还可以帮助广告主准确获取意向流量。此外&#xff0c;它的广告形式不强迫推送&#xff0c;因此也受到了广泛用户的支持和青睐。 原生信…