数据库,数据表的增删改查操作

一.数据库的基本操作

(1)创建数据库

创建数据库就是在数据库系统中划分一块存储数据的空间,方便数据的分配、放置和管理。在MySQL中使用CREATE DATABASE命令创建数据库,语法格式如下:
CREATE DATABASE数据库名称;
注:“数据库名称”必须是唯一的!


(2)查看数据库


在MySQL中,查看数据库的语法格式如下:
SHOW DATABASES
注:使用该命令可以查询在MySQL中已经存在的所有数据库!

(3)修改数据库


数据库创建之后,数据库编码方式就确定了。修改数据库的编码方式,可以使床
DATABASE语句,具体语法如下:
ALTER DATABASE数据库名称DEFAULT CHARACTER SET编码方式COLLATE编码
方式_bin;

其中“数据库名称”是要修改的数据库的名字,“编码方式”是修改后的数据库编码方式。
例 将数据库xxgc的编码方式修改为gbk.
SQL语句如下:
ALTER DATABASE xXgC DEFAULT CHARACTER SET gbk COLLATE gbk_bin;

 (4)删除数据库


删除数据库可以使用DROP DATABASE命令,具体语法格式如下:
DROP DATABASE数据库名称;
其中“数据库名称”是要删除的数据库的名字。需要注意的是,如果要删除的数据库不存在,则会
出现错误。
例:删除名为xxgc的数据库。
SQL语句如下:
DROP DATABASE xxgc;

运行sql语句

二.数据类型

MySQL支持多种数据类型,大致分为四类:数值类型,日期和时间类型、字符串类型
和二进制类型。


(1)数值类型

MySQL支持所有标准SQL数值类型,包括精确数值类型和近似数值类型。

(2)日期和时间类型

表示日期和时间值的日期和时间类型有DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个“零”值,当输入不合法的值时,MySQL使用“零”值插入。

(3)字符串和二进制类型

为了存储字符串,图片和声音等数据,MySQL提供了字符串和二进制类型。

三、数据表的基本操作

(1)创建数据表

数据库创建成功之后,接下来需要在数据库中创建数据表
因为数据表是数据库中存放数据的对象实体。没
有数据表,数据库中其他的数据对象就没有意义。
注:在创建数据表之前,一定要使用“USE数据库名”明确是在哪个数据库中创建的,否则系统会抛出“NO database selected”错误。

创建数据表的语法格式如下:
CREATE TABLE数据表名称

(
字段名1数据类型[完整性约束条件],
字段名2数据类型[完整性约束条件],
字段名3数据类型[完整性约束条件]

);
在上述语法格式中,“数据表名称”是创建的数据表的名字,“字段名”是数据表的列名,“完整性约束条件”是字段的特殊约束条件。

例如:在xxgc数据库中创建一个用于存储教师信息的teacher表,其结构如表:

选择创建表的数据库,创建表的SQL语句如下:
USE xxgc;
CREATE TABLE teacher


Id INT(5),
name VARCHAR(10),
email VARCHAR(30)

);
执行后显示:Query OK,0 rows affected(0.34sec),说明teacher表创建成功。

(2)查看数据表


1.使用SHOW CREATE TABLE语句查看数据表语法格式如下:

SHOW CREATE TABLE 数据表名
例使用SHOW CREATE TABLE语句查看teacher表。
SQL语句如下:
SHOW CREATE TABLE teacher;

2.使用DESCRIBE语句查看数据表使用DESCRIBE语句查看数据表,可以查看到数据表的字段名、类、是否为空,是否为主键等信息。语法格式如下:
DESCRIBE表名;DESC表名;
【例】使用DESCRIBE语句查看teacher表。
DESCRIBE teacher;

Field表示该表的字段名Type表示对应字段的数据类型Null表示对应字段是否可以存储NULL值;Key表示对应字段是否编制索引和约束Default表示对应字段是否有默认值Extra表示获取到的与对应字段相关的附加信息。

(3)修改数据表


数据表创建之后,用户还可以对表中的某些信息进行修改,包括修改数据表的结构以及表中字段的信息,如修改表名、修改字段名、修改字段的数据类型等。

1.修改表名

语法格式如下:
ALTER TABLE旧表名RENAME [TO]新表名;
【例】将数据库xxgc中teacher表的表名改为xxgc_teacher。
修改表名之前,先用SHOW TABLES语句查看数据库中的表
执行下述命令,将teacher表名改为xxgc_teacher。
ALTER TABLE teacher RENAME xxgc_teacher

上述命令执行成功后,再用SHOW TABLES语句查看数据库中的表,结果:

2.修改字段名和数据类型


语法格式如下:
ALTER TABLE表名CHANGE旧字段名 新字段名 新数据类型;
其中,“旧字段名”是修改之前的字段名称,“新字段名”是修改之后的字段名称,“新数据类型”是修改后的数据类型。注意,修改后的数据类型不能为空。如果只修改字段名,不修改数据类型,可以将新数据类型写为字段原来的数据类型。
【例】将xxgc_teacher表中的id字段改名为workid,数据类型保持不变。修改字段之前,首先
查看表的信息

执行下述命令,将xxgc_teacher表中的id字段改为workid:

3.修改字段的数据类型


语法格式如下:
ALTER TABLE表名MODIFY字段名 新数据类型;
【例】将xxgc_teacher表中的workid字段的数据类型由INT(5)修改为TINYINT。
执行修改命令之前,先查看xxgc_teacher表的结构,如图:

执行修改命令,SQL语句如下:命令成功执行后,再查看一下xxgc_teacher表的结构。

4、添加字段


语法格式如下:
ALTER TABLE表名
ADD新字段名 数据类型[约束条件][FIRSTAFTER已经存在的字段名];
其中,“新字段名”是新添加的字段名称,“FIRST"是可选参数,用于将新添加的字段设置为表的第一个字段,“AFTER已经存在的字段名”也是可选参数,用于将新添加的字段添加到指定字段的后面。如不指定位置,则默认将新添加字段追加到表末尾。
【例】在xxgc_teacher表中添加一个没有约束条件的INT(4)类型的age字段。
SQL语句如下:
ALTER TABLE xxgc _teacher ADD age INT(4)


为了验证age字段是否添加成功,使用DESC语句查看xxgc_teacher表的结构,执行结果如图:

5.删除字段


为了验证email字段是否删除成功,使用DESC语句查看xxgc_teacher表的结构,执行结果如图:

6、修改字段的位置


语法结构:

ALTER TABLE表名MODIFY字段名1新数据类
型FIRST|AFTER字段名2;

其中“FIRST”是可选参数,用于将“字段名1”设置为表的第一个字段,“AFTER字段名2”也是可选参数,用于将“字段名1”移动到“字段名2”的后面。此命令可以同时修改字段的数据类型和位置。如果只修改位置,不修改数据类型,可以将新数据类型写为字段原来的数据类型。
【例】将xxgc_teacher表中的name字段修改为表中的第一个字段。SQL语句如下:
ALTER TABLE xxgc_teacher MODIFY name
VARCHAR (10) FIRST


使用DESC语句查看xxgc_teacher表的结构,执行结果如图:

7、删除数据表


删除数据表的语法格式如下:
DROP TABLE表名;
【例】删除xxgc_teacher表。SQL语句如下:
DROP TABLE xxgc_teacher;


为了验证xxgc_teacher表是否删除成功,使用DESC语句查看,执行结果如图:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

书籍《新能源汽车动力电池安全管理算法设计》和《动力电池管理系统核心算法》脑图笔记

目录 一、阅读背景二、《新能源汽车动力电池安全管理算法设计》脑图笔记三、《动力电池管理系统核心算法》脑图笔记四、后记参考学习 一、阅读背景 如今身处新能源动力电池行业,欲对动力电池相关算法做一些了解,通过查找相关电子书app,最后找…

激活函数篇 03 —— ReLU、LeakyReLU、RandomizedLeakkyReLU、PReLU、ELU

本篇文章收录于专栏【机器学习】 以下是激活函数系列的相关的所有内容: 一文搞懂激活函数在神经网络中的关键作用 逻辑回归:Sigmoid函数在分类问题中的应用 整流线性单位函数(Rectified Linear Unit, ReLU),又称修正线性单元&a…

Python Pandas(3):DataFrame

1 介绍 DataFrame 是 Pandas 中的另一个核心数据结构,类似于一个二维的表格或数据库中的数据表。它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由…

【C++高并发服务器WebServer】-14:Select详解及实现

本文目录 一、BIO模型二、非阻塞NIO忙轮询三、IO多路复用四、Select()多路复用实现 明确一下IO多路复用的概念:IO多路复用能够使得程序同时监听多个文件描述符(文件描述符fd对应的是内核读写缓冲区),能够提升程序的性能。 Linux下…

算法兵法全略(译文)

目录 始计篇 谋攻篇 军形篇 兵势篇 虚实篇 军争篇 九变篇 行军篇 地形篇 九地篇 火攻篇 用间篇 始计篇 算法,在当今时代,犹如国家关键的战略武器,也是处理各类事务的核心枢纽。算法的世界神秘且变化万千,不够贤能聪慧…

瑞芯微 Rockchip 系列 RK3588 主流深度学习框架模型转成 rknn 模型教程

前言 在瑞芯微 Rockchip 芯片上进行 NPU 推理,需要先将模型文件转换成 rknn 模型文件,才能执行各种推理任务。本文将介绍如何安装各种工具,并最终实现将各种深度学习框架的模型文件转换成 rknn 文件。 本教程不仅适合 RK3588 平台&#xff…

STM32的HAL库开发---高级定时器---互补输出带死区实验

一、互补输出简介 互补输出:OCx输出高电平,则互补通道OCxN输出低电平。OCx输出低电平,则互补通道OCxN输出高电平。 带死区控制的互补输出:OCx输出高电平时,则互补通道OCxN过一会再输出输出低电平。这个时间里输出的电…

git提交到GitHub问题汇总

1.main->master git默认主分支是maser,如果是按照这个分支名push,GitHub会出现两个branch,与预期不符 解决方案:更改原始主分支名为main git config --global init.defaultBranch main2.git:OpenSSL SSL_read: SS…

【图片合并转换PDF】如何将每个文件夹下的图片转化成PDF并合并成一个文件?下面基于C++的方式教你实现

医院在为患者进行诊断和治疗过程中,会产生大量的医学影像图片,如 X 光片、CT 扫描图、MRI 图像等。这些图片通常会按照检查时间或者检查项目存放在不同的文件夹中。为了方便医生查阅和患者病历的长期保存,需要将每个患者文件夹下的图片合并成…

vite + axios 代理不起作用 404 无效

vite axios 代理不起作用 先看官方示例 export default defineConfig({server: {proxy: {// 字符串简写写法/foo: http://localhost:4567,// 选项写法/api: {target: http://jsonplaceholder.typicode.com,changeOrigin: true,rewrite: (path) > path.replace(/^\/api/, )…

Spring Boot接入Deep Seek的API

1,首先进入deepseek的官网:DeepSeek | 深度求索,单击右上角的API开放平台。 2,单击API keys,创建一个API,创建完成务必复制!!不然关掉之后会看不看api key!!&…

Windows 系统下使用 Ollama 离线部署 DeepSeek - R1 模型指南

引言 随着人工智能技术的飞速发展,各类大语言模型层出不穷。DeepSeek - R1 凭借其出色的语言理解和生成能力,受到了广泛关注。而 Ollama 作为一款便捷的模型管理和部署工具,能够帮助我们轻松地在本地环境中部署和使用模型。本文将详细介绍如…

Python+Flask搭建属于自己的B站,管理自己电脑里面的视频文件。支持对文件分类、重命名、删除等操作。

适用场景 个人用户:管理本地图片和视频文件,快速查找和分类。 团队协作:共享文件分类标签,提升团队文件管理效率。 教育机构:用于教学资源管理,方便教师和学生查找资料。 企业应用:作为内部文件管理系统,支持批量操作和分类管理。 功能介绍 文件浏览与播放:用户可以浏…

深入Linux系列之进程地址空间

深入Linux系列之进程地址空间 1.引入 那么在之前的学习中,我们知道我们创建一个子进程的话,我们可以在代码层面调用fork函数来创建我们的子进程,那么fork函数的返回值根据我们当前所处进程的上下文是返回不同的值,它在父进程中返…

前端 CSS 动态设置样式::class、:style 等技巧详解

一、:class 动态绑定类名 v-bind:class&#xff08;缩写为 :class&#xff09;可以动态地绑定一个或多个 CSS 类名。 1. 对象语法 通过对象语法&#xff0c;可以根据条件动态切换类名。 <template><div :class"{ greenText: isActive, red-text: hasError }&…

ArgoCD实战指南:GitOps驱动下的Kubernetes自动化部署与Helm/Kustomize集成

摘要 ArgoCD 是一种 GitOps 持续交付工具,专为 Kubernetes 设计。它能够自动同步 Git 仓库中的声明性配置,并将其应用到 Kubernetes 集群中。本文将介绍 ArgoCD 的架构、安装步骤,以及如何结合 Helm 和 Kustomize 进行 Kubernetes 自动化部署。 引言 为什么选择 ArgoCD?…

go语言文件和目录

打开和关闭文件 os.Open()函数能够打开一个文件&#xff0c;返回一个*File 和一个 err。操作完成文件对象以后一定要记得关闭文件。 package mainimport ("fmt""os" )func main() {// 只读方式打开当前目录下的 main.go 文件file, err : os.Open(".…

LLM应用实践(1)- 物流状态判断

原文&#xff1a;LLM应用实践&#xff08;1&#xff09;- 物流状态判断 稳定输出 JSON 字符串 为了能够更好的贴合实际的业务场景的应用&#xff0c;我们通常期望大模型返回的数据是 JSON 格式的&#xff0c;这样能够降低对大模型返回内容处理的复杂度&#xff0c;如果返回了…

redis高级数据结构Stream

文章目录 背景stream概述消息 ID消息内容常见操作独立消费创建消费组消费 Stream弊端Stream 消息太多怎么办?消息如果忘记 ACK 会怎样?PEL 如何避免消息丢失?分区 Partition Stream 的高可用总结 背景 为了解决list作为消息队列是无法支持消息多播问题&#xff0c;Redis5.0…

SpringMVC SpringMVC拦截器 拦截器基础知识

1.什么是拦截器 SpringMVC提供了Intercepter拦截器机制&#xff0c;类似于Servlet当中的Filter过滤器&#xff0c;用于拦截用户的请求并作出相应的处理&#xff0c;比如通过拦截器来进行用户权限验证或者用来判断用户是否登录。SpringMVC拦截器是可插拔式的设计&#xff0c;需…