首页 > 数据库 >4.MySQL(数据模型,SQL简介,DDL,DML)

4.MySQL(数据模型,SQL简介,DDL,DML)

时间:2023-11-24 17:56:09浏览次数:37  
标签:数据库 DDL DML SQL MySQL 数据 数据模型

MySQL(数据模型,SQL简介,DDL,DML)

概述:

  • 数据库:DataBase(DB),是存储和管理数据的仓库;

  • 数据库管理系统:DataBase Management System(DBMS),操纵和管理数据库的大型软件;

  • SQL:Structured Query Language,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准;

  • MySQL是一个关系型数据库管理系统;

  • 登录数据库:

mysql [-h数据库服务器IP地址 -P端口号] -u用户名 -p密码

MySQL数据模型:

  • 关系型数据库(RDBMS):建立在关系模型基础上,由多张相互连接的二维表组成的数据库;
特点:
  • 使用表存储数据,格式统一,便于维护;
  • 使用SQL语言操作,标准统一,使用方便,可用于复杂查询;

SQL简介:

  • SQL:一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准

通用语法:

  • SQL语句可以单行或多行书写,以分号结尾;
  • SQL语句可以使用空格/缩进来增强语句的可读性;
  • MySQL数据库的SQL语句不分大小写;
  • 注释:
    • 单行注释:--注释内容 或 # 注释内容(MySQL特有);
    • 多行注释:/* 注释内容 */;

SQL分类:

  • SQL语句通常被分为四大类:
分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库、表、字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据库查询语言,用来查询数据库中表的记录
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL:

DDL(数据库操作):
查询:
  • 查询所有数据库:show databases;
  • 查询当前数据库:select database();
使用:
  • 使用数据库:use 数据库名;
创建:
  • 创建数据库:create database [if not exists] 数据库名;
删除:
  • 删除数据库:drop database [if exists] 数据库名;
注意实现:
  • 上述语法中的database,也可以替换成schema。如:create schema db01;
DDL(表操作):
创建:
create table 表名(
	字段1 字段类型 [约束] [comment 字段1注释],
	......
	字段n 字段类型 [约束] [comment 字段n注释]
)[comment 表注释];
约束:
  • 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据;
  • 目的:保证数据库中数据的正确性、有效性和完整性;
约束 描述 关键字
非空约束 限制该字段值不能为null not null
唯一约束 保证字段的所有数据都是唯一、不重复的 unique
主键约束 主键是一行数据的唯一标识,要求非空且唯一 primary key(auto_increment自增)
默认约束 保存数据时,如果未指定该字段值,则采用默认值 default
外键约束 让两张表的数据建立连接,保证数据的一致性和完整性 foreign key
常用数据类型:
数值类型:
类型 大小(byte) 有符合(SIGNED范围) 无符号(UNSIGNED范围) 备注
tinyint 1 (-128,127) (0,255)
int 4 (-2147483648,2147483647) (0,4294967295)
bigint 8 (-263,263-1) (0,2^64-1)
double 8 double(5,2): 5表示整个数字长度,2表示小数位个数
decimal
字符串类型:
类型 大小 描述 优缺点
char 0-255 bytes 定长字符串 性能高, 浪费空间(空间换时间)
varchar 0-65535 bytes 变长字符串 性能低, 节省空间(时间换空间)
日期类型:
类型 大小(byte) 范围 格式 描述
date 3 1000-01-01 至 9999-12-31 YYYY-MM-DD 日期值
datetime 8 1000-01-01 00:00:00至9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值

DML:

DML(INSERT):
insert语法:
  • 指定字段添加数据:insert into 表名(字段名1,字段名2) values(值1,值2);
  • 全部字段添加数据:insert into 表名 values(值1,值2);
  • 批量添加数据(指定字段):insert into 表名(字段名1,字段名2) values(值1,值2),(值1,值2);
  • 批量添加数据(全部字段):insert into 表名 values(值1,值2),(值1,值2);
注意事项:
  1. 插入数据时,指定的字段顺序需要与值的顺序是一一对应的;
  2. 字符串和日期型数据应该包含在引号中;
  3. 插入的数据大小,应该在字段的规定范围内;
DML(UPDATE):
update语法:
  • 修改数据:update 表名 set 字段名1 = 值1,字段名2 = 值2,...[where 条件];
注意实现:
  • 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据;
DML(DELETE):
delete语法:
  • 删除数据:delete from 表名 [where 条件];
注意事项:
  1. DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据;
  2. DELETE语句不能删除某一个字段的值(如果要操作,可以使用UPDATE,将该字段的值置为NULL);

标签:数据库,DDL,DML,SQL,MySQL,数据,数据模型
From: https://www.cnblogs.com/chj020415/p/17853674.html

相关文章

  • 【题解 P2839】 middle
    [国家集训队]middle题目描述一个长度为\(n\)的序列\(a\),设其排过序之后为\(b\),其中位数定义为\(b_{n/2}\),其中\(a,b\)从\(0\)开始标号,除法下取整。给你一个长度为\(n\)的序列\(s\)。回答\(Q\)个这样的询问:\(s\)的左端点在\([a,b]\)之间,右端点在\([c,d]\)......
  • 06-基础SQL-DML(数据操作语言)
    DML介绍DML英文全称是DataManipulationLanguage(数据操作语言),用来对数据库中表的数据记录进行增删改操作DML-添加数据给指定字段添加一条数据INSERTINTO表名(字段名1,字段名2,...)VALUES(值1,值2,...);给全部字段添加一条数据INSERTINTO表名VALUES(值1,......
  • 05-基础SQL-DDL(数据定义语言)-数据库操作
    DDL-数据库操作1.查询查询所有数据库SHOWDATABASES;查询当前数据库SELECTDATABASE();2.创建创建一个数据库CREATEDATABASE[IFNOTEXISTS]数据库名[DEFAULTCHARSET字符集][COLLATE排序规则];3.删除删除一个数据库DROPDATABASE[IFEXISTS]数据库名;......
  • 03-数据模型
    MySQL数据库关系型数据库(RDBMS):建立在关系模型基础上,有多张相互连接的二维表组成的数据库关系型数据库的特点:1.使用表存储数据,格式单一,便于维护2.使用SQL语言操作,标准统一,使用方便数据模型 ......
  • 如何使用Fiddler进行弱网测试
    测试APP、web经常需要用到弱网测试,也就是在信号差、网络慢的情况下进行测试。我们自己平常在使用手机APP时,在地铁、电梯、车库等场景经常会遇到会话中断、超时等情况,这种就属于弱网。普通的弱网测试可以选择第三方工具对带宽、丢包、延时等模拟弱网环境。这里带大家一起解锁Fidd......
  • SQL DDL语句
    DataDefinationLanguage,数据定义语言。这类SQL语句用于定义或修改数据库结构。主要的DDL操作包括CREATE(创建新表或数据库)、ALTER(修改现有数据库对象的结构)和DROP(删除表、视图或其他数据库对象)。表操作创建表CREATETABLE创建数据表的时候,不但需要指定表名字和列名,还需......
  • SQL DML语句
    DataManipulationLanguage数据操纵语言,用于数据的增加、删除、更新等操作。包括INSERT(向表中插入新数据)、UPDATE(修改表中的数据)和DELETE(从表中删除数据)。插入数据INSERT插入一行数据插入数据的时候,不指定列名直接使用VALUES指定数据,表示为表中的每一列提供一个值,值的顺......
  • Oracle、达梦:获取数据库对象、获取对象的DDL-数据定义语言
    一、获取据库对象(Oracle、达梦)ALL_OBJECTS表数据库所有对象表:包括表、视图、物化视图、函数……等--查询所有对象SELECT*fromALL_OBJECTS--筛选条件-OWENR:哪个数据库。-OBJECT_TYPE类型:SELECTOBJECT_NAME,OBJECT_TYPEfromALL_OBJECTSWHEREOWNER='M......
  • fiddler限速配置
    1、开启性能选项 2、找到对应的参数入口 3、修改对应的从参数 解释下这2个参数是如何做到限速的4、request-trickle-delay(上传数据限制)默认值是300,他的意思是上传1KB的内容需要300ms,转换下上传速度1/0.3=3.3KB/s,也就是说网络的上行速度是3.3KB 5、response-......
  • Fiddler not intercepting PowerShell web requests
    FiddlernotinterceptingPowerShellwebrequestsFiddleractuallyworksviaaproxy,andautomaticallysetsproxysettingsinIEwhenrunning.Youcancheckthisbylaunchingfiddlerandthenchecking"LanSettings"underInternetOptions>......