数据库基本操作

news2024/11/28 23:48:26

目录

数据库操作

创建数据库

查看数据库

选择数据库

删除数据库

注释

数据表操作

创建数据表

查看数据表

查看数据表

查看数据表的相关信息

修改数据表

修改数据表名称

修改表选项

查看表结构

查看数据表的字段信息

查看数据表的创建信息

查看数据表结构

修改表结构

修改字段名

修改字段类型

修改字段位置

增加字段

删除字段

删除数据表

数据操作

添加数据

为所有字段添加数据

为部分字段添加数据

一次添加多行数据

查询数据

查询表中全部数据

查询表中部分字段

简单条件查询数据

修改数据

删除数据


数据库操作

数据库名称可以由字母、数字和下划线组成。【】表示可写可不写

在MySQL中,若没有指定字符集则数据表及表中的字符将使用默认字符集latin1

创建数据库

语法:CREAT DATABASE 数据库名称【库选项】;

 

库选项表示设置数据库的相关特性,如字符集CHARSET,校对集COLLATE等等

在创建数据库时,如果数据库名已存在则程序会报错,因此我们可以在数据库名前添加IF NOT EXISTS来表示如果创建数据库名已存在则忽略此操作

语法:CREATE DATABASE IF NOT EXISTS 数据库名称【库选项】;

 

数据库的创建就是在存储数据的文件夹data中创建一个与数据库同名的目录,因此我们也可以通过在data下创建目录的方式来完成数据库的创建

查看数据库

查看MYSQL服务器下所有数据库:

SHOW DATABASES;

查看指定数据库的创建信息:

SHOW CREATE DATABASE 数据库名称; 

 

选择数据库

在对数据和数据表进行操作前,首先需要选择数据库

语法:USE 数据库名称;

 

补充:我们可以在登录mysql服务器时选择数据库

MySQL -u用户名 -p密码 数据库名

删除数据库

删除数据库就是清除数据库中的所有数据,回收为数据库分配的内存空间

语法:DROP DATABASE 数据库名称;

 

在删除数据库时,若待删除的数据库不存在则程序会报错,因此我们可以在删除数据库时加入IF EXISTS

语法:DROP DATABASE IF EXISTS 数据库名称;

注释

在服务器实际运行时被忽略的注释

单行注释:以#或--进行单行注释,但在使用--时须在最后一个-后添加至少一个控制字符(如空格、制表符、换行符等)防止注释--与减法运算的混淆

多行注释:使/*  注释内容 */进行多行注释

数据表操作

在MySQL数据库中,所有数据都存储在数据表中

创建数据表

在创建数据表时,应先选择数据库即USE 数据库名

其语法如下:

CREATE 【TEMPORARY】TABLE 【IF NOT EXISTS】表名

(字段名 字段类型【字段属性】......)【表选项】

TEMPORARY表示临时表,在当前会话中可见,当会话关闭时自动删除

字段名表示数据表的列名

字段类型表示设置字段中保存的数据类型

字段属性表示字段的默写特殊约束条件

表选项用于设置表的相关特性,如存储引擎(ENGINE)、字符集(CHARSET)

在创建表时可以使用COMMENT来添加注释内容,并将其保存到表结构中

在操作数据表时可以不先选择数据库,可以直接将表名的位置改为数据库.表名的形式,其语法如下:

CREATE TABLE 数据库.表名;

查看数据表

查看数据表

语法:SHOW TABLES 【LIKE 匹配模式】;

​​​​​​​ 

不添加【LIKE 匹配模式】则表示查看当前数据库中的所有数据表

【LIKE 匹配模式】中匹配模式符有两种分别为“%”和“_”,前者表示一个或多个字符代表任意长度的字符串,也可以为0;后者仅表示一个字符

LIKE后的匹配模式必须使用单引号或者双引号包裹

查看数据表的相关信息

查看数据表的相关信息,如数据表的名称、存储引擎、创建时间等

语法:SHOW TABLE STATUS【FROM 数据库】【LIKE 匹配模式】;

修改数据表

修改数据表名称

在MySQL中提供了两种修改数据表名称的方式

语法一:ALTER TABLE 旧表名 RENAME 【TO/AS】新表名;

语法二:ALTER TABLE 旧表名1 TO 新表名1【,旧表名2 TO 新表名2】...;

修改表选项

语法:ALTER TABLE 表名 表选项 【=】 值;

查看表结构

查看数据表的字段信息

MYSQL提供的DESCRIBE语句可以查看数据表中的所有字段或指定字段的信息,包括字段名、字段类型等

语法格式一:查看所有字段的信息

{DESCRIBE/DESC} 数据表名;

语法格式二:查看指定字段的信息

{DESCRIBE/DESC} 数据表名 字段名;

查看数据表的创建信息

语法:SHOW CREATE TABLE 表名;

查看数据表结构

语法格式一:SHOW 【FULL】 COLUMNS FROM 数据表名 【FROM 数据库名】;

语法格式二:SHOW 【FULL】 COLUMNS FROM 数据库名.数据表名;

可添加选项FULL表示显示详细信息,不添加FULL情况下与DESC语句查看的信息相同

使用FULL后除了DESC语句查看到的信息以外还可看到字段的权限,COMMENT注释的内容等

修改表结构

修改字段名

仅修改数据表的字段名可使用CHANGE实现

其语法如下:

ALTER TABLE 表名 CHANGE 【COLUMN】旧字段名 新字段名 字段类型【字段属性】;

修改字段类型

MYSQL中修改字段类型通常使用MODIFY来实现

其语法如下:

ALTER TABLE 数据表名 MODIFY 【COLUMN】字段名 新类型 【字段属性】;

修改字段位置

字段的存储位置为字段编写的先后顺序,在调整字段位置时也可使用MODIFY来实现

其语法如下:

ALTER TABLE 数据表名

MODIFY 【COLUMN】字段名1 数据类型【字段属性】【FIRST/AFTER 字段名2】;

增加字段

可使用ADD来增加新的字段

语法格式一:新增一个字段,可指定位置

ALTER TABLE 数据表名

ADD 【COLUMN】新字段名 字段类型【FIRST/AFTER 字段名2】;

语法格式二:同时新增多个字段

ALTER TABLE 数据表名

ADD 【COLUMN】(新字段名1 字段类型1,新字段名2 字段类型2,...);

删除字段

通过DROP完成

语法:ALTER TABLE 数据表名 DROP 【COLUMN】字段名;

删除数据表

删除数据库中已存在的表,删除数据表的同时,其中的数据都将被删除

DROP 【TEMPORARY】TABLE【IF EXISTS】数据表1【,数据表2】...;

数据操作

添加数据

在数据表有数据的情况下,我们可以使用INSERT语句向数据表中添加数据

为所有字段添加数据

在为所有字段插入记录时,可以省略字段名称但是需要严格按照数据表结构插入对应的值

INSERT【INTO】数据表名 {VALUES | VALUE}(值1【,值2】...);

为部分字段添加数据

除了为所有子弹添加数据外,我们也可以通过指定字段名的方式增加数据

INSERT 【INTO】 数据表名(字段名1【,字段2】...)

{VALUES | VALUE}(值1【,值2】...);

上述语法中只需保证字段名的编写顺序与值的编写顺序相同即可

除此之外,还有一种为指定字段添加数据的方式

INSERT 【INTO】数据表名

SET 字段名1 = 值1【,字段名2 = 值2】...;

一次添加多行数据

向一张数据表中添加多条记录时,重复上述代码会显得繁琐,因此MySQL提供了另一种插入方式来完成多数据的插入

INSERT 【INTO】 数据表名【(字段列表)】

{ VALUES | VALUE } (值列表)【,(值列表)】...;

查询数据

查询表中全部数据

查询数据表中所有字段的数据时,可以使用*通配符来代替数据表中的所有字段名

SELECT * FROM 数据表名;

查询表中部分字段

在SELECT语句中指定要查询的字段

SELECT { 字段名1,字段名2,...} FROM 数据表名;

简单条件查询数据

可使用WHERE语句来完成条件查询相关数据

SELECT * | {字段名1,字段名2...}

FROM 数据表名 WHERE 字段名 = 值;

修改数据

修改数据时数据库中的常见操作,通常需要对表中的部分记录进行修改,因此我们可以使用UPDATE语句来修改数据

UPDATE 数据表名

SET 字段名1 = 值1【,字段名2 = 值2,...】

【WHERE 条件表达式】;

删除数据

对表中存在的数据进行删除

DELETE FROM 数据表名【WHERE 条件表达式】;

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

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

相关文章

linux进程间通信之共享内存

目录 一,共享内存原理 二,创建共享内存 1,shmget创建共享内存 2,shmat挂接共享内存 3,shmdt取消挂接共享内存 4,shmctl删除共享内存 三,代码使用 1,com.hpp 2,ipc_client.c…

Allegro基本规则设置指导书之Physical Region

Allegro基本规则设置指导书之Physical Region 下面介绍基本规则设置指导书之Physical Region 空白的地方创建一个Region 给新建的Region匹配一个规则,所有区域里面的Physical相关的都按照Region的规则来 当部分网络想按照本身的规则来匹配,可以创建region-Class 然后匹配…

目标检测算法——医学图像开源数据集汇总(附下载链接)

关注”PandaCVer“公众号 深度学习Tricks,第一时间送达 目录 1.血细胞图像数据 2.眼病深度学习数据集 3.皮肤病数据集 4.膝关节 X 射线图像数据集 小海带整理不易,小伙伴们记得一键三连喔!!! >>>一起交流…

VisualSVN 是 Visual Studio 的专业级 Subversion 集成插件

用于 Visual Studio 的 VisualSVN 专业且无缝的 Subversion 集成。 专业级 Subversion 集成 VisualSVN 是 Visual Studio 的专业级 Subversion 集成插件。 VisualSVN 的主要优点是: 无与伦比的可靠性: Visual Studio 永远不会因为 VisualSVN 而崩溃或挂…

保护鲸鱼动物网页设计作业 静态HTML宠物主题网页作业 DW鲸鱼网站模板下载 大学生简单动物网页作品代码 个人网页制作 学生个人网页

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

2022阿里云栖大会,顶尖科技趋势峰会和全链路元宇宙体验

2022年的11月3日-5日是阿里巴巴云栖大会的日子,地点在云栖小镇,本人有幸报名参加了5日那场,因为5日是周六。秉着打工人工作日需要搬砖,因为“公司离不开我”,哈哈哈,实际上是每天满满的工作量。所以只能选择…

一文彻底搞懂协程(coroutine)是什么,值得收藏

什么是协程 我们可以简单的认为:协程就是用户态的线程,但是上下文切换的时机是靠调用方(写代码的开发人员)自身去控制的。 同时,协程和用户态线程非常接近,用户态线程之间的切换不需要陷入内核&#xff0…

NYIST(计科ACMTC)第三次招新赛题解

A题 原文, 原比赛B题 牛客练习赛104【出题人题解】 - 知乎 直接输出 输入的数 就可以了 B题 C题 找到分别处理"无留陀的化身"坐标轴的x轴和y轴, 组合成无留陀的坐标, 再遍历求纳西妲的坐标, 相减即可 /* ⣿⣿⣿⣿⣿⣿⡷⣯⢿⣿⣷⣻⢯⣿⡽⣻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿…

ROS小工具学习与使用

ROS小工具学习与使用 rqt的使用 rqt_bag工具 rqt_bag <your bagfile> #使用rqt_bag查看你的rosbag例如&#xff1a;可以查看第一帧GPS的rawdata信息&#xff0c;如下图&#xff1a; 参考文献&#xff1a; 1、http://wiki.ros.org/rqt_bag 2、rosbag与rqt_bag的常用 rq…

Nacos学习笔记

视频学习指路&#xff1a; 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 Nacos nacos注册中心的搭建 1.下载nacos的安装包&#xff0c;github地址&#xff1a;https://github.com/alibaba/nacos&…

Tkinter保姆级教程(上)

目录 什么是GUI Tkinter用法详解 第一个Tkinter程序 常用控件和属性 主窗口 Label标签控件 Button按钮控件 Entry输入控件 基本属性 Text 文本控件 列表框(ListBox)和组合框(Combobox) 单选框(Radiobutton)和多选框按钮(Checkbutton) 什么是GUI 图形用户界面&#x…

运算放大器正反馈负反馈判别法

---------------------------------------------------------------------------------------------------------------- 反馈可分为负反馈和正反馈。前者使输出起到与输入相反的作用&#xff0c;使系统输出与系统目标的误差减小&#xff0c;系统趋于稳定&#xff1b;后者使输出…

java面向对象(上)

一、java面向对象学习的三条主线1.java类以及类的成员&#xff1a;属性、方法、构造器&#xff1b;代码块、内部类。2.面向对象的三大特征&#xff1a;封装性&#xff0c;继承性&#xff0c;多态性&#xff0c;&#xff08;抽象性&#xff09;。3.其他关键字&#xff1a;this&a…

.net技术第一章

文章目录.NETC# (C Sharp)的特点C# 的应用范围.NET Framework1.2 创建简单的C#程序结构和书写规则类型的声明和使用类型的声明和使用命名空间使用方法命名空间举例注释Main方法命令行参数Main返回值控制台输入和输出例子格式化.NET 由微软公司提供的免费、跨平台的开源通用开发…

复杂分数 马蹄集

复杂分数 难度&#xff1a;白银 0时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 编写程序连续输入a1、a2、、a5,计算下列表达式的值并输出。本题不考虑输 入0&#xff0c;负数或者其他特殊情况。 1十1中 al 3 4 格式 输入格式&#xff1a;输入整型&#xff0c;空格分隔。…

Go语言学习(二) 函数

文章目录函数go函数基本语法go不支持重载go中支持可变参数函数 go函数基本语法 先来看看go中函数的基本使用 package mainimport "fmt"/* func 函数名(形参列表) (返回值类型列表) {执行语句..return 返回值列表 } */ //自定义函数&#xff1a;功能&#xff1a;两…

实验三:多种影响因素下购房方案的比较

根据呼文军[1]等建立的购房决策数学模型式(1)[1]&#xff0c;通过对影响购房的多个因素进行科学地分析、比较&#xff0c;从若干备选购房方案中做出最佳的选择。 QP*WT &#xff08;1&#xff09; 在文章的“实例分析”中&#xff0c;假设…

Kubeadm搭建kubernetes(k8s)集群

目录 一、集群介绍 1、集群搭建方法 二、集群部署 环境配置 所有节点&#xff0c;关闭防火墙规则&#xff0c;关闭selinux&#xff0c;关闭swap交换 node02&#xff08;192.168.137.30&#xff09; node01&#xff08;192.168.137.20&#xff09; ​编辑 master&#…

单链表经典例题

LeetCode题解移除链表元素反转链表合并两个有序链表移除链表元素 题目描述&#xff1a; ➡️挑战链接⬅️、 分析&#xff1a; 该题是要求我们删除指定元素&#xff0c;那么我们就定义一个cur指针去遍历整个链表就好了&#xff0c;每当我们遇到cur->valval;等于特定值的时…

【PTA-训练day3】L2-014 列车调度 + L1-009 N个数求和

目录 L2-014 列车调度 - 二分贪心 1、java版 - 运行超时 2、c版 L1-010 比较大小 - 10 L1-015 跟奥巴马一起画方块 - 15 L1-009 N个数求和 - 20 java 欧几里得求最大公约数gcd L2-014 列车调度 - 二分贪心 PTA | 程序设计类实验辅助教学平台 如果当前序号比火车队列末…