MySQL数据库基础 === DDL DML

目录

概述-数据模型

1、关系型数据库(RDBMS)

2、MySQL数据库

通用语法及分类

通用语法

DDL(数据定义语言)

数据库操作

表操作

DML(数据操作语言)

添加数据

更新和删除数据


概述-数据模型

1、关系型数据库(RDBMS)

概念

        建立在关系模型基础上,由多张相互连接的二维表组成的数据库

特点

  • 使用表存储结构,格式统一,便于维护
  • 使用SQL语言操作,标准统一,使用方便

2、MySQL数据库

数据模型

        客户端通过SQL语句连接DBMS(数据库管理系统)来创建数据库或者在数据库里面创建表

  •  一个数据服务器当中可以创建多个数据库
  • 一个数据库当中可以创建多个表
  • 一个表当中可以存储多个记录

通用语法及分类

通用语法

1、SQL语句可以单行或者多行书写,以分号结尾

2、SQL语句可以使用空格/缩进来增强语句的可读性

3、MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

4、注释:

        单行注释:-- 注释内容 或 # 注释内容

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

  • DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)
  • DML: 数据操作语言,用来对数据库表中的数据进行增删改
  • DQL: 数据查询语言,用来查询数据库中表的记录
  • DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限

DDL(数据定义语言)

数据定义语言

数据库操作

  1. 查询所有数据库:SHOW DATABASES;
  2. 查询当前数据库: SELECT DATABASE();
  3. 删除数据库: DROP DATABASE [ IF EXISTS ] 数据库名;
  4. 使用数据库: USE 数据库名;
  5. 创建数据库:CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];
# 查询所有数据库
SHOW DATABASES
# 创建数据库
CREATE DATABASE test
# 没有在创建,有则忽略
CREATE DATABASE  IF NOT EXISTS test
# 指定字符集
CREATE DATABASE test2 DEFAULT CHARSET utf8mb4
# 删除数据库
DROP DATABASE test
# 没有在删除,有则忽略
DROP DATABASE IF EXISTS test
# 使用数据库
USE test2
# 查询使用的数据库
SELECT DATABASE()

注意事项

  • UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集

表操作

  1. 查询当前数据库所有表: SHOW TABLES;
  2. 查询表结构: DESC 表名;
  3. 查询指定表的建表语句: SHOW CREATE TABLE 表名;
  4. 创建表:
CREATE TABLE 表名(字段1 字段1类型 [COMMENT 字段1注释],字段2 字段2类型 [COMMENT 字段2注释],字段3 字段3类型 [COMMENT 字段3注释],...字段n 字段n类型 [COMMENT 字段n注释]
)[ COMMENT 表注释 ];
# 创建表
CREATE TABLE users(
id INT COMMENT "编号",
name VARCHAR(50) COMMENT "姓名",
age INT  COMMENT  "年龄",
gender VARCHAR(1) COMMENT "性别"
) COMMENT "用户表";
# 查询表结构
DESC  users
# 查询指定表的建表语句:
SHOW CREATE TABLE users

  • 添加字段:ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
  • 修改数据类型:ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
  • 修改字段名和字段类型:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
  • 删除字段:ALTER TABLE 表名 DROP 字段名;
  • 修改表名:ALTER TABLE 表名 RENAME TO 新表名
  • 删除表:DROP TABLE [IF EXISTS] 表名;
  • 删除表,并重新创建该表: TRUNCATE TABLE 表名;

# 添加字段
ALTER TABLE users ADD nickname VARCHAR(20) COMMENT "昵称"
# 修改字段
ALTER TABLE users CHANGE nickname username VARCHAR(30) COMMENT "用户名"
# 修改字段类型
ALTER TABLE users MODIFY username VARCHAR(50)
# 删除字段
ALTER TABLE users DROP username
# 修改表名
ALTER TABLE users RENAME user 
# 删除表
DROP TABLE IF EXISTS user

DML(数据操作语言)

添加数据

指定字段:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
全部字段:
INSERT INTO 表名 VALUES (值1, 值2, ...);

批量添加数据: 指定字段:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);

批量添加数据: 全部字段:
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);

注意事项

  • 字符串和日期类型数据应该包含在引号中
  • 插入的数据大小应该在字段的规定范围内

更新和删除数据

修改数据:
UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2, ... [ WHERE 条件 ];

删除数据:
DELETE FROM 表名 [ WHERE 条件 ];

# 插入指定字段 (单条)
INSERT INTO users(id,name,age,gender) VALUES (1, "张三","18","男")
# 插入全部字段  (单条)
INSERT INTO users VALUES(2, "小明","20","女")
# 插入指定字段 (多条)
INSERT INTO users(id,name,age,gender) VALUES (3, "王麻子","28","男"),(4, "小五","38","男")
# 插入全部字段  (多条)
INSERT INTO users VALUES(6, "刘刘","20","女"),(7, "小七","20","女")# 修改数据
UPDATE users SET name = "大王" WHERE  id = 1
UPDATE users SET name = "小王",gender = "男" WHERE  id = 2
UPDATE users set age = 18# 删除数据
DELETE FROM users WHERE id = 7
DELETE FROM users

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

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

相关文章

企业二要素如何用C#实现

一、什么是企业二要素? 企业二要素,通过输入统一社会信用代码、企业名称或统一社会信用代码、法人名称,验证两者是否匹配一致。 二、企业二要素适用哪些场景? 例如:信用与金融领域 1.信用评级:信用评级…

微信小程序中 “页面” 和 “非页面” 的区别

微信小程序中 “页面” 和 “非页面” 的区别,并用表格进行对比。 核心概念: 页面 (Page): 页面是微信小程序中用户可以直接交互的视图层,也是小程序的基本组成部分。每个页面都有自己的 WXML 结构、WXSS 样式和 JavaScript 逻辑…

互联网直播点播平台EasyDSS无人机视频推拉流技术实现工地远程监控巡检直播

在建筑行业,施工现场的安全管理和实时监控一直是项目管理中的重点。随着技术的进步,无人机工地直播技术成为了一种新兴的解决方案,它不仅能够提高施工透明度,还能够加强现场安全管理。EasyDSS作为一种先进的流媒体技术平台&#x…

【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(四)

****非斜体正文为原文献内容(也包含笔者的补充),灰色块中是对文章细节的进一步详细解释! 四、提示范式(Explanation for Prompting Paradigm) 随着语言模型规模的扩大,基于提示(prom…

基于区块链的共享算力系统概念方案

以下白皮书为一个去中心化的 GPU 共享算力系统的概念性方案参考,旨在帮助社区和开发者初步了解该系统的设计思路与运作机制。该方案受到 IPFS、区块链(如比特币、以太坊)等去中心化项目的启发,结合了激励机制和点对点资源共享理念…

RedisInsight:企业级 Redis 管理与分析工具

1 介绍 RedisInsight 是一款专为企业级用户设计的 Redis 管理与分析工具,旨在简化 Redis 数据库的管理和优化操作。通过直观的图形化界面和强大的功能集,RedisInsight 提供了全面的监控、诊断、性能优化以及数据管理能力,帮助企业和开发团队更高效地管理和运维 Redis 实例。…

【循环神经网络】RNN介绍

在人工神经网络中,”浅层网络”是指具有一个输入层、一个输出层和最多一个没有循环连接的隐藏层的网络。随着层数的增加,网络的复杂性也在增加。更多的层或循环连接通常会增加网络的深度,并使其能够提供不同级别的数据表示和特征提取&#xf…

vue v-for 数据增加页面不刷新

<div style"float:left;border:1px solid red;height:100px;width:600px;"><el-form-item label"多语言配置" style"width:700px;" prop"validTanleHead"><el-input style"width: 180px" placeholder"请…

DeepSeek v3为何爆火?如何用其集成Milvus搭建RAG?

最近&#xff0c;DeepSeek v3&#xff08;一个MoE模型&#xff0c;拥有671B参数&#xff0c;其中37B参数被激活&#xff09;模型全球爆火。 作为一款能与Claude 3.5 Sonnet&#xff0c;GPT-4o等模型匹敌的开源模型DeepSeek v3不仅将其算法开源&#xff0c;还放出一份扎实的技术…

【C语言】_野指针

目录 1. 野指针常见成因 1.1 指针未初始化 1.2 指针越界访问 1.3 指针指向的空间释放了 2. 规避野指针 2.1 指针初始化 2.2 小心指针越界 2.3 指针变量使用前检查有效性&#xff0c;不再使用时及时置NULL 2.4 避免返回局部变量的地址 野指针&#xff1a;野指针就是指针…

IEEE PDF eXpress遇到Font TimesNewRomanPSMT is not embedded的解决方案

IEEE PDF eXpress遇到Font TimesNewRomanPSMT is not embedded的解决方案 问题描述 在IEEE PDF eXpress上上传论文后&#xff0c;出现Font XXX is not embedded的问题。 该问题是指你所插入的图片等&#xff0c;没有将对应的字体嵌入进去。 解决方案 以下以Origin Lab图片…

什么情况会导致JVM退出?

大家好&#xff0c;我是锋哥。今天分享关于【什么情况会导致JVM退出?】面试题。希望对大家有帮助&#xff1b; 什么情况会导致JVM退出? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 JVM&#xff08;Java Virtual Machine&#xff09;在不同情况下可能会退出&am…

Linux内核编程(二十一)USB应用及驱动开发

一、基础知识 1. USB接口是什么&#xff1f; USB接口&#xff08;Universal Serial Bus&#xff09;是一种通用串行总线&#xff0c;广泛使用的接口标准&#xff0c;主要用于连接计算机与外围设备&#xff08;如键盘、鼠标、打印机、存储设备等&#xff09;之间的数据传输和电…

CSS——1.优缺点

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><link rel"stylesheet" type"text/css" href"1-02.css"/></head><body><!--css&#xff1a;层叠样式表…

攻防世界 - Web - Level 3 | simple_js

关注这个靶场的其它相关笔记&#xff1a;攻防世界&#xff08;XCTF&#xff09; —— 靶场笔记合集-CSDN博客 0x01&#xff1a;考点速览 本题考察的是 JS 的代码审计&#xff0c;以下是你需要了解的知识点&#xff1a; String.fromCharCode() -> 将接收的 Unicode 编码转换…

关系分类(RC)模型和关系抽取(RE)模型的区别

目标不同 关系分类模型&#xff1a;对给定的实体对在给定句子中预测其关系类型。两阶段&#xff08;RC&#xff09; 关系抽取模型&#xff1a;从句子中识别出所有潜在实体对&#xff0c;并为其预测关系类型。一阶段&#xff08;NERRE&#xff09; 训练/预测阶段输入输出数据不…

永磁同步电机控制算法--最大转矩电流比控制(牛顿迭代法)

一、原理介绍 搭建了基于牛顿迭代法的MTPA双闭环矢量控制系统 二、仿真验证 在MATLAB/simulink里面验证所提算法&#xff0c;采用和实验中一致的控制周期1e-4&#xff0c;电机部分计算周期为1e-6。仿真模型如下所示&#xff1a; 对直接公式计算法和牛顿迭代法进行仿真对比验…

数据结构—树的定义与性质

目录 1.树的定义 2.基本术语 3.树的性质 1.树的定义 树是n&#xff08;n≥0&#xff09;个结点的有限集。 n0时&#xff0c;称为空树。 &#xff08;1&#xff09;树有且只有一个特定的结点&#xff0c;称为根节点。 &#xff08;2&#xff09;当n>1时&#xff0c;其余…

vue数据请求通用方案:axios的options都有哪些值

Axios 是一个基于 promise 的 HTTP 库&#xff0c;可以用在浏览器和 Node.js 中。 在使用 Axios 发送请求时&#xff0c;可以通过传递一个配置对象来指定请求的各种选项。 以下是一些常用的 Axios 配置选项及其说明&#xff1a; 1.url: &#xff08;必需&#xff09;请求的 …

选择器(结构伪类选择器,伪元素选择器),PxCook软件,盒子模型

结构为类选择器 伪元素选择器 PxCook 盒子模型 (内外边距&#xff0c;边框&#xff09; 内外边距合并&#xff0c;塌陷问题 元素溢出 圆角 阴影: 模糊半径&#xff1a;越大越模糊&#xff0c;也就是越柔和 案例一&#xff1a;产品卡片 <!DOCTYPE html> <html lang&q…