MySQL数据库基本操作1
文章目录
主要内容
- DDL
- DML
一.DDL
DDL是数据库领域中的一个术语,全称为数据定义语言(Data Definition Language)。DDL用于定义数据库的结构和组织方式,包括创建、修改和删除数据库对象,如表、视图、索引等。
常见的DDL命令包括:
-
CREATE:用于创建数据库对象,如创建表、视图、索引等。
例如:CREATE TABLE students (id INT, name VARCHAR(50)); -
ALTER:用于修改数据库对象的结构,如添加、删除或修改列、约束等。
例如:ALTER TABLE students ADD COLUMN age INT; -
DROP:用于删除数据库对象,如删除表、视图、索引等。
例如:DROP TABLE students; -
TRUNCATE:用于删除表中的所有数据,但保留表结构。
例如:TRUNCATE TABLE students; -
RENAME:用于重命名数据库对象的名称。
例如:RENAME TABLE students TO new_students;
| 功能 | SQL |
|---|---|
| 查看所有数据库 | show databases; |
| 创建数据库 | create database[if not exists] mydb1 [charset=utf8] |
| 切换(选择要操作的)数据库 | use mydb1; |
| 删除数据库 | drop database [if exists] mydb1; |
| 修改数据库编码 | alter database mydb1 character set utf8; |
DDL的用法主要有以下几个方面:
-
创建数据库对象:使用CREATE语句可以创建表、视图、索引等数据库对象,定义其结构和属性。
-
修改数据库对象:使用ALTER语句可以修改数据库对象的结构,如添加、删除或修改列、约束等。
-
删除数据库对象:使用DROP语句可以删除数据库对象,包括表、视图、索引等。
-
重命名数据库对象:使用RENAME语句可以修改数据库对象的名称。
DDL语句通常在数据库的初始化阶段使用,用于创建数据库和表结构。在数据库运行过程中,DDL语句的使用相对较少,主要用于修改数据库结构或删除不需要的对象。
需要注意的是,DDL语句一旦执行,会立即生效并修改数据库的结构,因此在使用DDL语句之前应该谨慎考虑,并确保备份重要数据。
1.创建表
代码如下(示例):
创建表格式
create table [if not exists] 表名 (字段名 1 类型 [( 宽度 )] [ 约束条件 ] [comment ' 字段说明 '],字段名 2 类型 [( 宽度 )] [ 约束条件 ] [comment ' 字段说明 '],字段名 3 类型 [( 宽度 )] [ 约束条件 ] [comment ' 字段说明 ']
)[ 表的一些设置 ];
举个例子:创建表是构建一张空表,指定这个表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型。
use mydb1;
create table if not exists student(sid int,name varchar(20),gender varchar(20),age int,birth date,address varchar(20),score double
);
2.创建表的类型
数值类型

字符串类型

日期类型

3.其他操作
| 功能 | SQL |
|---|---|
| 查看当前数据库的所有表名称 | show tables; |
| 查看指定某个表的创建语句 | show create table 表名; |
| 查看表结构 | desc 表名 |
| 删除表 | drop table 表名 |
4.修改表结构格式
代码如下(示例):
修改表添加格列:
语法格式
alter table 表名 add 列名 类型 ( 长度 ) [ 约束 ];
例子:
# 为 student 表添加一个新的字段为:系别 dept 类型为 varchar(20)
ALTER TABLE student ADD `dept` VARCHAR(20);
修改列名和类型
语法格式
alter table 表名 change 旧列名 新列名 类型 ( 长度 ) 约束 ;例子:
# 为 student 表的 dept 字段更换为 department varchar(30)
ALTER TABLE student change `dept` department VARCHAR(30);
修改表删除列
语法格式:
alter table 表名 drop 列名 ;例子:
# 删除 student 表中 department 这列
ALTER TABLE student DROP department;
修改表名
语法格式:
rename table 表名 to 新表名 ;例子:
# 将表 student 改名成 stu
rename table `student` to stu;
二.DML
DML(Data Manipulation Language,数据操作语言)是一种用于在关系型数据库中操作数据的语言。它允许用户对数据库中的数据进行查询、插入、更新和删除操作。
DML语言通常包括以下几个主要的操作:
-
查询(SELECT):用于从数据库中检索数据。SELECT语句可以指定要检索的表、列和条件,以及可选的排序和分组规则。
-
插入(INSERT):用于将新的数据行插入到数据库表中。INSERT语句指定要插入的表、要插入的列和相应的值。
-
更新(UPDATE):用于修改数据库表中的现有数据行。UPDATE语句指定要更新的表、要更新的列和相应的新值,以及可选的更新条件。
-
删除(DELETE):用于从数据库表中删除数据行。DELETE语句指定要删除的表和可选的删除条件。
DML语言的使用方法如下:
-
在SQL命令行界面或数据库管理工具中输入DML语句,并执行该语句。执行后,数据库会根据语句的指示进行相应的操作。
-
在应用程序中使用编程语言(如Java、Python等)的数据库连接库,通过调用相应的函数或方法来执行DML语句。
下面是一些常见的DML语句示例:
-
查询语句示例:
SELECT * FROM 表名 WHERE 条件; -
插入语句示例:
INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3); -
更新语句示例:
UPDATE 表名 SET 列1=新值1, 列2=新值2 WHERE 条件; -
删除语句示例:
DELETE FROM 表名 WHERE 条件;
需要注意的是,DML语句对数据库中的数据进行操作,因此在使用DML语句时应谨慎,避免误操作或不必要的数据损失。在执行DML语句之前,最好先备份数据库以防止意外情况发生。
1.数据插入
代码如下(示例):
语法格式:
insert into 表(列名1,列名2,列名3...); //向表中插入某些
insert into 表 values ( 值 1, 值 2, 值 3...); // 向表中插入所有列例子:
insert into student(sid,name,gender,age,birth,address,score) values(1001,' 男 ',18,'1996-12-23',' 北京 ',83.5);
insert into student values(1001,' 男 ',18,'1996-12-23',' 北京 ',83.5);
2.数据修改
代码如下(示例):
语法格式:
update 表名 set 字段名=值,字段名=值...;
update 表名 set 字段名 = 值 , 字段名 = 值 ... where 条件 ;例子:
-- 将所有学生的地址修改为重庆
update student set address = ' 重庆’ ;--将id 为 1004 的学生的地址修改为北京
update student set address = ' 北京 ' where id = 1004 ;-- 将id 为 1005 的学生的地址修改为北京,成绩修成绩修改为 100
update student set address = ' 广州 ',score=100 where id = 1005;
3.数据删除
代码如下(示例):
语法格式:
delete from 表名[where 条件];
truncate table 表名 或者 truncate 表名-- 1. 删除 sid 为 1004 的学生数据
delete from student where sid = 1004;
-- 2. 删除表所有数据
delete from student;
-- 3. 清空表数据
truncate table student;
truncate student;注意: delete 和 truncate 原理不同, delete 只删除内容,而 truncate 类似于 drop table ,可以理解为是将整个表删除,然后再创建该表;
总结
以上是今天要讲的内容,学到了MySQL数据库的基本操作,包括DDL,DML。
相关文章:
MySQL数据库基本操作1
文章目录 主要内容一.DDL1.创建表代码如下(示例): 2.创建表的类型3.其他操作4.修改表结构格式代码如下(示例): 二.DML1.数据插入代码如下(示例): 2.数据修改代码如下(示例): 3.数据删…...
Webpack简介及打包演示
Webpack 是一个静态模块打包工具,从入口构建依赖图,打包有关的模块,最后用于展示你的内容 静态模块:编写代码过程中的,html,css, js,图片等固定内容的文件 打包过程,注…...
面向对象设计模式——命令模式
命令设计模式(Command Pattern)是一种行为型设计模式,它的主要目的是将请求或操作封装成一个对象,从而允许参数化客户端对象,队列请求,将请求记录到日志,以及支持可撤销的操作。命令模式将请求的发出者(调用者)与请求的接收者(执行者)解耦,这使得系统更加灵活、可扩…...
selenium测试框架快速搭建(ui自动化测试)
一、介绍 selenium目前主流的web自动化测试框架;支持多种编程语言Java、pythan、go、js等;selenium 提供一系列的api 供我们使用,因此在web测试时我们要点页面中的某一个按钮,那么我们只需要获取页面,然后根据id或者n…...
TypeScript中的类型映射
类型映射 1. 简介 映射就是将一种类型按照映射规则,转成另一种类型,通常用于对象类型。 这里类型B通过A采用属性名索引的写法,完成了类型B的定义 type A {foo: number;bar: number; };type B {[prop in keyof A]: string; };这里复制了一…...
系统平台同一网络下不同设备及进程数据通讯--DDS数据分发服务中间件
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言(1)中间件的介绍(2)DDS介绍(3)发布者(4)订阅者(5)idl文件(定义msg结构体)(6)QoS(Quality of Service)策略(7)DDS测试工具介绍(…...
golang小技巧
1/有时需要把json内容返回给前段进行文本编辑json字段,那么最好是能返回格式化后的json,这样对于用户编辑页方便。这时候可以利用json.MarshalIndent(data, "", "\t")来进行格式化,带有缩进的marshal。 2/对holders的填…...
JavaWeb——IDEA操作:Project最终新建module
在project中创建新的module: 创建一个新的module很容易,但是它可能连接不上Tomcat,因此需要修改一些配置: 将以下地址修改为新module的地址...
前端开发技术栈(工具篇):2023深入了解webpack的安装和使用以及核心概念和启动流程(详细) 63.3k stars
目录 Webpack简介 Entry Module Chunk Loader Plugin Output Webpack的启动流程 Webpack的优缺点 Webpack的使用 1. 安装Webpack 2. 创建Webpack配置文件 3. 编写代码 4. 运行Webpack 5. 在HTML中引入打包后的文件 6. 执行编译命令 Webpack其他功能介绍 1. 使…...
[SQL开发笔记]LIKE操作符:在 WHERE 子句中搜索列中的指定模式
一、功能描述: LIKE操作符:用于在 WHERE 子句中搜索列中的指定模式。 二、LIKE操作符语法详解: LIKE 语法 SELECT column1, column2,…FROM table_nameWHERE column LIKE pattern; 参数说明: (1)colum…...
flutter深研
https://www.douyin.com/video/7020336319058627853 关闭系统风扇 在 Windows 操作系统上安装和配置 Flutter 开发环境 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter...
TypeScript中的declare关键字
declare关键字 1. 简介 declare关键字用来告诉编译器,某个类型是存在的,可以在当前文件中使用。 作用:就是让当前文件可以使用其他文件声明的类型。比如,自己的脚本使用外部库定义的函数,编译器会因为不知道外部函数…...
玫瑰红葡萄酒的基本知识
在过去的几年里,玫瑰红葡萄酒越来越受欢迎,但是如果你是饮用玫瑰红葡萄酒的新手,你可能想知道它是如何从其他红葡萄酒或白葡萄酒中脱颖而出的。 玫瑰红具有标志性的粉色,很难归类,那它是更适合放在红酒类还是属于白酒…...
HTTP 协议参考文档
开发者Web协议文档: https://developer.mozilla.org/zh-CN/docs/Web 其中子节点包含 HTTP 协议内容: https://developer.mozilla.org/zh-CN/docs/Web/HTTP 其内容是基于 markdown 编写的,对应源文件在 Github 中,如下…...
Python遍历删除列表元素的一个奇怪bug
假定有一个Python列表,比如[CFFEX.IF, CFFEX.TS,SHFE.FU],现在需要将其中带‘CFFEX’前缀的所有元素都删除。在使用列表推导式一行代码搞定之前,用了一种最朴素的遍历删除方法,结果出现了意想不到的的问题。复盘了下,结…...
Elasticsearch部署中的两大常见问题及其解决方案
随着大数据和实时搜索的日益普及,Elasticsearch已经成为现代应用中不可或缺的工具。但是,像所有软件一样,部署和配置Elasticsearch可能会遇到一些问题。本文将探讨两个我最近遇到的常见问题及其解决方案。 问题描述 1. 主机名解析问题 在启…...
【计网 CDN】计算机网络 CDN(Content Delivery Network)分布式网络架构详解:中科大郑烇老师笔记 (八)
目录 0 引言1 为什么需要分布式的网络架构?2 视频流化服务2.1 多媒体:视频2.2 存储视频的流化(Streaming)服务2.3 流媒体传输协议:DASH2.4 面临挑战:服务器如何向上百万用户同时提供视频流化内容࿱…...
C# 图解教程 第5版 —— 第9章 表达式和运算符
文章目录 9.1 表达式(*)9.2 字面量9.2.1 整数字面量9.2.2 实数字面量9.2.3 字符字面量9.2.4 字符串字面量 9.3 求值顺序9.3.1 优先级9.3.2 结合性 9.4 简单算术运算符9.5 求余运算符9.6 关系比较运算符和相等比较运算符9.7 递增运算符和递减运算符&#…...
TIA博途_Profinet通信故障诊断及常见错误解决方法汇总
TIA博途_Profinet通信故障诊断及常见错误解决方法汇总 1. 在线诊断报硬件组件的用户数据错误,设备组态不支持 解决方法: (1)检查模块终端盖板; (2)检查组态模块与实际组装模块顺序型号是否一致。 2. 网络视图,设备视图界面显示黑色感叹号 解决方法: PLC转离线,下载硬…...
Windows server部署filebeat到kafka
需求:Windows dhcp日志需要实时传输到elk或者其他告警平台。 1、filebeat下载地址:https://www.elastic.co/cn/downloads/beats/filebeat 2、下载后解压后配置filebeat.yml文件, 3、README.md文件中有运行的操作方法:cmd上进入f…...
Python移动开发终极指南:5分钟学会用python-for-android打包Android应用
Python移动开发终极指南:5分钟学会用python-for-android打包Android应用 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android 你是否想用熟悉的Python语…...
嵌入式系统中单例模式的应用与实现
1. 单例模式在嵌入式系统中的核心价值在资源受限的嵌入式环境中,全局状态管理一直是个棘手的问题。想象一下这样的场景:温度传感器模块认为系统运行正常,而控制模块却检测到了硬件故障,两个模块对系统状态的认知出现分歧ÿ…...
基于深度学习的车牌识别系统(YOLO12/11/v8/v5模型+django)(源码+lw+部署文档+讲解等)
摘要随着智能交通系统的迅猛发展,车牌识别技术在交通管理、停车场管理和公共安全等领域的应用愈加广泛。传统的车牌识别方法多依赖于图像处理技术,无法有效应对复杂环境下的车牌识别任务。为了解决这一问题,本文提出了一种基于深度学习的车牌…...
自感作为界面:哲学与自然科学的共同研究对象
自感作为界面:哲学与自然科学的共同研究对象——兼论“AI元人文”框架中的知识分工摘要在《AI元人文》所建构的理论框架中,“自感”(Selbstgefhl)被确立为前反思的、非对象化的存在元点。这一概念同时涉及两个截然不同却相互关联的…...
Autovisor:智能优化在线课程学习效率的自动化解决方案
Autovisor:智能优化在线课程学习效率的自动化解决方案 【免费下载链接】Autovisor 2025智慧树刷课脚本 基于Python Playwright的自动化程序 [有免安装版] 项目地址: https://gitcode.com/gh_mirrors/au/Autovisor 在数字化学习日益普及的今天,在线…...
探索ST-DBSCAN:2025年时空数据聚类的实战应用与算法思想
探索ST-DBSCAN:2025年时空数据聚类的实战应用与算法思想 【免费下载链接】st_dbscan ST-DBSCAN: Simple and effective tool for spatial-temporal clustering 项目地址: https://gitcode.com/gh_mirrors/st/st_dbscan 当您面对海量的时空数据时,…...
紧固件模具是什么?生产工艺、类型及应用详解_FES上海紧固件展
2026第十六届上海紧固件专业展Fastener Expo Shanghai 2026将于6月24日至26日在国家会展中心(上海)举行。展会由上海上搜展览与华人螺丝网联合主办,并获得中国五矿化工进出口商会五金紧固件分会支持,整体展览规模约70,000平方米&a…...
Chrome for Testing 终极配置指南:5个实战技巧让浏览器自动化测试更高效
Chrome for Testing 终极配置指南:5个实战技巧让浏览器自动化测试更高效 【免费下载链接】chrome-for-testing 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-for-testing Chrome for Testing 是 GoogleChromeLabs 团队专门为浏览器自动化测试设计的…...
Claude Code 官方回应代码泄漏:这次,他们没有“甩锅人”
这两天,Claude Code 的“代码泄漏”事件在技术圈引发了不少讨论。各种版本的故事层出不穷,甚至还有营销号声称“新员工背锅被开除”。但从官方回应来看,事情的走向,其实完全不一样。👉 Claude Code 团队,正…...
从物流小哥,转行网络安全,是我这辈子最成功的选择
从月薪4000的物流小哥成功转行到月入上万的网络安全工程师,我是怎么做到的,下面说说我的亲身经历。 我叫阿强,我是26岁转行学网安的。说实在,转行就是奔着挣钱去的。我三流大学毕业,物流专业,学习能力一般…...
