MySql数据库从0到1学习-第一天DDL学习

DDL

数据库(查询/创建/修改/删除)

查询数据库

以下语句的database 可以替换为schema,效果一样

//展示所有的数据库
show database; 
//显示当前选择的数据库
select database(); 
创建数据库
//创建一个数据库叫db_name
create database db_name;
//如果不存在就创建db_name
create database if not exists db_name; 
删除数据库
//删除数据库叫db_name
drop database db_name;
//删除数据库叫db_name,如果有才删除
drop database if exists db_name;
使用数据库
//使用数据库名为db_name
use db_name;

表(创建/删除/修改)

创建表
//字段约束为可选,可以不添加
create table 表名(字段1 字段类型 字段约束 comment 字段注释,字段2 字段类型 字段约束 comment 字段注释,字段3 字段类型 字段约束 comment 字段注释,....
)[comment 表注释];
查询表
//查询数据库下所有的表
show tables;
//查询表的表结构
desc 表名;
//查询建表语句
show create table 表名;
修改表
//添加字段
alter table 表名  add 字段名 类型 约束 comment 注释;
//修改字段类型
alter table 表名 modify 字段名 新数据类型
//修改字段名和字段类型
alter table 表名 change 旧字段名  新字段名 类型 约束 comment 注释;
//删除字段
alter table 表名 drop column 字段名;
//修改表名
rename table 表名 to 新表名;
表字段约束
约束描述关键字
非空约束限制该字段不可为nullnot null
唯一约束保证该字段的所欲数据都是唯一,不重复的unique
主键约束主键是一行数据的唯一标识,要求非空且唯一primary key
默认约束保存数据时,如果没有指定值,则使用默认值default
外键约束让两张表的数据建立联系,保证数据的一致性和完整行foreign key

表字段的数据类型

主要分为三类,数值类型/字符串类型/日期时间类型

数值类型
类型大小(byte)有符号(SIGNED)范围无符号(UNSIGNED范围描述备注
tinyint1(-128,127)(0,255)小整数值
smallint2(-32768,32767)(0,65535)大整数值
mediumint3(-8388608,8388607)(0,16777215)大整数值
int4(-2147483648,2147483647)(0,4294967295)大整数值
bitint8(-2^63,2~63-1)(0,2^64-1)极大整数值
float4(-3.402823466 E+38,3.402823466351 E+38)0 和(1.175494351 E-38,3.402823466 E+38)单精度浮点数值float(5.2):5表示整个数字长度,2表示小数位个数
double8(-1.7976931348623157 E+308,1.7976931348623157 E+308)0和(2.2250738585072014 E-308,1.7976931348623157 E+308)双精度浮点数值double(5.2):5表示整个数字长度,2表示小数位个数
decimal小数值(精度更高)decimal(5.2):5表示整个数字长度,2表示小数位个数
日期类型
类型大小范围格式描述
date31000-01-01 至 9999-12-31YYYY-MM-DD日期值
time3-838:59:59 至 838:59:59HH:MM:SS时间值或持续时间
year11911-2155YYYY年份值
datetime81000-01-01 00:00:00 至 9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
timestamp41970-01-01 00:00:01 至2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS混合日期和时间值,时间戳

字符串类型

类型大小描述
char0-255bytes定长字符串–>例如(char(10),无论是三个还是四个字符都是占用10个字符空间)性能高,但是浪费空间
varchar0-65535bytes变长字符串–>例如(varchar(10),最多10个字符,不足10个按实际长度存储)性能低,节省空间
tinyblob0-255bytes不超过255个字符的二进制数据
tinytext0-255bytes短文本字符串
blob0-65535bytes二进制的长文本数据
text0-65535bytes长文本数据
mediumblob0-16777215bytes二进制形式的中等长度文本数据
mediumtext0-16777215bytes中等长度文本数据
longblob0-4294967295bytes二进制形式的极大文本数据
longtext0-4294967295bytes极大文本数据

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

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

相关文章

鸿蒙学习记录

问题小测记录 总结链接:小测总结 学习笔记:鸿蒙开发学习记录 1、 main_pages.json存放页面page路径配置信息。 2、在stage模型中,下列配置文件属于AppScope文件夹的是? app.json5 3、module.json5配置文件中,包含…

RabbitMQ知识点

什么是 rabbitmq 采用 AMQP 高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦 为什么要使用 rabbitmq 在分布式系统下具备异步,削峰,负载均衡等一系列高级功能拥有持久化的机制,进程消息,队列中…

Java集合基础知识点复习

目录 Java提供的常见集合ListArrayList底层实现与扩容机制ArrayList listnew ArrayList(10)中的list扩容几次如何实现数组和List之间的转换用Arrays.asList转List后,如果修改了数组内容,list受影响吗?List用toArray转数组后,如果修…

Vue 【vite使用alias】

文章目录 前言一、vite.config.ts二、tsconfig.json三、可能遇到的问题 前言 这是一个比较常用,且配置简单的功能。但是在不同环境下还是有点点小坑,这边就当是一个全面的记录吧。 vite中配置alias总共需要配置两个地方 vite.config.ts:让代…

Java基础知识总结(44)

(1)分支结构——Switchcase 语法: switch(expression){ case 1: //代码 break; case 2: //代码 break; ... default: } Java7之前 expression的类型只支持byte、short、int、charJava7之后添加了String和枚举switch分支语句的执行是先对expre…

【STL】链表(list)

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个…

uniapp项目问题及解决(前后端互联)

1.路由跳转的问题 uni.navigateTo() 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面 uni.redirectTo() 关闭当前页面,跳转到应用内的某个页面。 uni.reLaunch&…

MySQL-复杂SQL语句编写:子查询分析与练习

子查询 1. 由一个具体的需求&#xff0c;引入子查询2. 称谓的规范&#xff1a;外查询&#xff08;或主查询&#xff09;、内查询&#xff08;或子查询&#xff09;3. 子查询的分类4. 单行子查询4.1 单行操作符&#xff1a; ! > > < <4.2 子查询中的空值问题4.3 非…

揭开Spring Bean生命周期的神秘面纱

目录 一、Spring IOC 1.1 Spring IOC 的加载过程 二、Spring Bean 生命周期 2.1 实例化前置 2.2 实例化后置 2.3 属性赋值 2.4 初始化前置 2.5 初始化 2.6 初始化后置 2.7 Bean 销毁 Spring 是一个开源的企业级Java应用程序框架&#xff0c;它简化了企业级应用程序开…

开源数据湖iceberg, hudi ,delta lake, paimon对比分析

Iceberg, Hudi, Delta Lake和Paimon都是用于大数据湖(Data Lake)或数据仓库(Data Warehouse)中数据管理和处理的工具或框架,但它们在设计、功能和适用场景上有所不同。 Iceberg: Iceberg是用于大型分析表的高性能格式。Iceberg将SQL表的可靠性和简易性带入到大数据领域,同…

【java的本地锁到分布式锁介绍】

文章目录 1.java本地自带锁介绍及应用synchronized&#xff08;1&#xff09;synchronized原理和优化&#xff08;2&#xff09;synchronized作用&#xff08;3&#xff09;synchronized的使用 CAS(1) CAS原理&#xff08;2&#xff09;CAS和synchronized优缺点 lock 2.分布式锁…

idea常用配置

IDEA设置全局配置 参考&#xff1a;IDEA设置全局配置_idea如何打开一个项目,全局设置-CSDN博客 idea提交代码到git或svn上时&#xff0c;怎么忽略.class、.iml文件和文件夹等不必要的文件 参考&#xff1a;idea提交代码到git或svn上时&#xff0c;怎么忽略.class、.iml文件和文…

LeetCode-74. 搜索二维矩阵【数组 二分查找 矩阵】

LeetCode-74. 搜索二维矩阵【数组 二分查找 矩阵】 题目描述&#xff1a;解题思路一&#xff1a;先二分查找行&#xff0c;再二分查找列。解题思路二&#xff1a;暴力遍历&#xff0c;也能过。解题思路三&#xff1a;用python的in。 题目描述&#xff1a; 给你一个满足下述两条…

VSCODE目录树缩进调整

VSCode默认的缩进太小了&#xff0c;简直看不出来&#xff0c;很容易弄混目录。在设置里修改就行了。 修改后效果&#xff1a;

何为网络协议?一图知晓网络过程。

网络协议就是计算机之间沟通的语言 为了有效地交流&#xff0c;计算机之间需要一种共同的规则或协议&#xff0c; 就像我们和老外沟通之前&#xff0c;要先商量好用哪种语言&#xff0c; 要么大家都说中文&#xff0c;要么大家都说英语&#xff0c;这才能有效地沟通。 网络协…

04-springmvc-RequestContextHolder

一、获取request对象的四种方法 方法1、Controller中加参数来获取request 注意&#xff1a;只能在Controller中加入request参数。 一般&#xff0c;我们在Controller中加参数获取HttpServletRequest&#xff0c;如下所示&#xff1a; RestController RequestMapping("…

OSPF中配置静态路由负载分担实验简述

OSPF中配置静态路由负载分担 实验简述 在静态路由负载分担中&#xff0c;多个路由器被配置为共享负载的目标&#xff0c;以实现流量的均衡分配。 到达目的地有N条相同度量值的路径&#xff0c;默认值60&#xff0c;N条路由是等价路由&#xff0c;数据报文在N条链路上轮流发送。…

速盾:cdn原服务器地理位置

CDN&#xff08;Content Delivery Network&#xff09;是一种通过在不同地理位置部署服务器的技术&#xff0c;旨在提高网站的访问速度和稳定性。它将原始服务器内容复制到多个节点服务器中&#xff0c;这些节点服务器分布在全球各个地理位置&#xff0c;并根据用户的地理位置和…

使用iPhone/安卓手机代替门禁卡

文章目录 基础知识ID卡和IC卡ID卡技术IC卡技术IC卡加密方式手机NFC只能模拟IC卡&#xff0c;而不支持ID卡电梯卡可能使用滚动码验证方式&#xff0c;不支持使用手机模拟 &#xff08;IC类型&#xff09;门禁卡验证方式仅验证ID&#xff08;卡号&#xff09;验证ID分区信息 iPho…

【云开发笔记NO.28】数据中台的概述

数据中台的定义 在云开发中&#xff0c;数据中台是一个综合性的数据管理和服务平台&#xff0c;它集成了数据管理、数据治理、数据服务等多个功能&#xff0c;并基于云计算技术架构而建立。数据中台的核心目标是为企业提供稳定、高效、安全的数据支持和服务&#xff0c;进而推…