数据库之DDL操作(数据库,表,字段)
Data Definition Language,数据库定义语言,用来定义数据库对象(数据库,表,字段)
1.数据库操作
1.1查询所有数据库
show databases;1.2查询当前数据库
show databases();1.3创建数据库
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];例如:
- 我们想创建一个Student数据库,并且使用数据库默认的字符集。
create database Student;- 因为在同一个数据库服务器中不能出现同名的数据库,所以我们使用(if not exists)参数来解决这个问题,若想要创建的数据库不存在,则创建数据库,如果存在,则不创建。
create database if not exists Student;- 我们也可以指定数据库使用的字符集
create database Student default charset utf8mb4;1.4删除数据库
drop database [if exists] 数据库名;1.5切换数据库
我们要操作某一个数据库下的表时,需要通过命令,切换到对应的数据库下面,否则是不能对那个表进行操作的。
use 数据库名;2.表操作
2.1查询创建
2.1.1查询当前数据库中所有表
show tables;例如:
- 如果我们想要在mydata数据库中查询我们所创建的所有表。
use mydata;
show tables;2.1.2查看表结构
这条指令可以使我们看见指定表的字段,字段的类型,是否可以为NULL,是否存在默认值等信息。
desc 表名;2.1.3查询表的建表语句
这条指令可以使我们查询到创建表时候的所有参数,指定的和没指定的(默认值)都回查询到 。(存储引擎,字符集)等没。
show create table 表名;2.1.4创建表结构
create table 表名(字段1 字段1类型 [comment 字段1注释],字段2 字段2类型 [comment 字段2注释],字段3 字段3类型 [comment 字段3注释],字段4 字段4类型 [comment 字段4注释],......字段n 字段n类型 [comment 字段n注释]
)[comment 表注释]- 最后一个字段没有逗号(,)
例如:
create table tb_stu(S# varchar(12) comment '学号';name varchar(30) comment '姓名';age int comment '年龄';gender varchar(1) comment '性别'
)comment '学生表';2.2数据类型
2.2.1数值类型
| 类型 | 大小 | 有符号范围 | 无符号范围 | 描述 | 
|---|---|---|---|---|
| TINYINT | 1byte | (-128,127) | (0,255) | 小整数值 | 
| SMALLINT | 2bytes | (-32768,32767) | (0,65535) | 大整数值 | 
| MEDIUMINT | 3bytes | (-8388608,8388607) | (0,16777215) | 大整数值 | 
| INT | 4bytes | (-2147483648,2147483647) | (0,4294967295) | 大整数值 | 
| BIGINT | 8bytes | (-2^63,2^63-1) | (0,2^64-1) | 极大整数值 | 
| FLOAT | 4bytes | (-3.4... E+38,3.4... E+38) | 0和(1.17... E-38,3.40... E+38) | 单精度浮点数值 | 
| DOUBLE | 8bytes | (-1.7... E+308,1.7... E+308) | 0和(2.22... E-308,1.79... E+308) | 双精度浮点数值 | 
| DECIMAL | 依赖于M(精度)和D(标度)的值 | 依赖于M(精度)和D(标度)的值 | 小数值(精确定点数) | 
例如:
//年龄字段--不出现负数不超过255岁
age tinyint unsigned//分数字段--总分100,一位小数
score double(4,1)2.2.2字符串类型
| 类型 | 大小 | 描述 | 
|---|---|---|
| CHAR | 0-255 bytes | 定长字符串(需要指定长度) | 
| VARCHAR | 0-65535 bytes | 变长字符串(需要指定长度 | 
| TINYBLOB | 0-255 bytes | 不超过255个字符的二进制数据 | 
| TINYTEXT | 0-255 bytes | 短文本字符串 | 
| BLOB | 0-65535 bytes | 二进制形式的长文本数据 | 
| TEXT | 0-65535 bytes | 长文本数据 | 
| MEDIUMBLОB | 0-16 777 215 bytes | 二进制形式的中等长度文本数据 | 
| MEDIUMTEXT | 0-16 777 215 bytes | 中等长度文本数据 | 
| LONGBLOB | 0-4 294 967 295 bytes | 二进制形式的极大文本数据 | 
| LONGTEXT | 0-4 294 967 295 bytes | 极大文本数据 | 
例如:
1).用户名 username->长度不定,最长不会超过50
username varchar (50)2),性别 gender--------->存储值,不是男,就是女
gender char (1)3).手机号 phone-----> 固定长度为11
phone char (11)2.2.3日期时间函数
| 类型 | 大小 | 范围 | 格式 | 描述 | 
|---|---|---|---|---|
| DATE | 3 | 1000-01-01至9999-12-31 | YYYY-MM-DD | 日期值 | 
| TIME | 3 | -838:59:59至838:59:59 | HH : MM: SS | 时间值或持续时间 | 
| YEAR | 1 | 1901至2155 | YYYY | 年份值 | 
| DATETIME | 8 | 1000-01-01 00:00:00 至9999-12-31 23:59:59 | YYYY-MM-DDHH:MM:SS | 混合日期和时间值 | 
| TIMESTAMP | 4 | 1970-01-0100:00:01至2038-01-19 03:14:07 | YYYy-MM-DDHH:MM: SS | 混合日期和时间值,时间戳 | 
例如:
1),生日字段 birthday
birthday date2),创建时间 createtime
createtime datetime2.2.4表操作--修改
2.2.4.1添加字段
ALTER TABLE 表名 ADD 字段名类型 (长度) [COMMENT 注释] [ 约束];2.2.4.2修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);2.2.4.3修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [ 约束 ];2.2.4.4删除字段
ALTER TABLE 表名 DROP 字段名;2.2.4.5修改表名
ALTER TABLE 表名 RENAME TO 新表名;2.2.5表操作-删除
2.2.5.1删除表
DROP TABLE [IF EXIST} 表名;可选项 IFEXISTS代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果加该参数项,删除一张不存在的表,执行将会报错)。
2.2.5.2删除指定表,并重新创建表
TRUNCATE TABLE 表名;相关文章:
数据库之DDL操作(数据库,表,字段)
Data Definition Language,数据库定义语言,用来定义数据库对象(数据库,表,字段) 1.数据库操作 1.1查询所有数据库 show databases; 1.2查询当前数据库 show databases(); 1.3创建数据库 create da…...
 
5.3.1 配置交换机 SSH 管理和端口安全
5.3.1 实验1:配置交换机基本安全和 SSH管理 1、实验目的 通过本实验可以掌握: 交换机基本安全配置。SSH 的工作原理和 SSH服务端和客户端的配置。 2、实验拓扑 交换机基本安全和 SSH管理实验拓扑如图所示。 交换机基本安全和 SSH管理实验拓扑 3、实验步骤 &a…...
Django--数据库连接
数据库配置 打开mysite/settings.py配置文件,这是整个Django项目的设置中心。Django默认使用SQLite3数据库,因为Python原生支持SQLite3数据库,所以你无须安装任何程序,就可以直接使用它。 下面是默认的数据库配置: …...
 
CKA 基础操作教程(二)
Kubernetes Deployment 理论学习 Kubernetes Deployment (部署)是一种 Kubernetes 资源对象,用于定义和管理容器化应用程序的部署和更新。Deployment 提供了一种声明性的方式来定义应用程序的期望状态,并负责确保所需数量的 Pod…...
【SQLServer】快速查看SQL Server中所有数据库中所有表的行数
1.查看某个数据库中每个表的行数 SELECT @@servername as servername, db_name() as databasename, s.name AS schemaname, t.name AS tablename,p.rows AS rowcounts,SUM(a...
 
Node.js------Express
◆ 能够使用 express.static( ) 快速托管静态资源◆ 能够使用 express 路由精简项目结构◆ 能够使用常见的 express 中间件◆ 能够使用 express 创建API接口◆ 能够在 express 中启用cors跨域资源共享 一.初识Express 1.Express 简介 官方给出的概念:Express 是基…...
 
CSS - 你实现过0.5px的线吗
难度级别:中级及以上 提问概率:75% 我们知道在网页显示或是网页打印中,像素已经是最小单位了,但在很多时候,即便是最小的1像素,精度却不足以呈现所需的线条精度和细节。因此,为了在网页显示和网页打印中呈现更加细致的线条,为了在视觉…...
 
hbuilderX创建的uniapp项目转移到vscode
场景:一直使用hbuilderX开发的朋友想转移到vscode获取更好的TypeScript支持,所以想把整个项目目录拖到vscode进行开发,但发现运行不了,提示没有package.json等,并且不能执行pnpm命令 首先,我们先来看一下h…...
JavaScript 事件流
JavaScript与HTML之间的交互是通过事件实现的,而用户与浏览器页面的互动也是通过事件来实现的事件就是文档或浏览器窗口中发生的一些特定的交互瞬间,所以分为两种事件,一是发生在 浏览器对象(BOM)上的事件,…...
 
HTML——5.表单、框架、颜色
一、表单 HTML 表单用于在网页中收集用户输入的数据,例如登录信息、搜索查询等。HTML 提供了一系列的表单元素,允许用户输入文本、选择选项、提交数据等。 <!DOCTYPE html> <html lang"en"> <head> <meta charset&q…...
 
Docker、Kubernetes之间的区别
比较容器化工具:了解 Docker、Kubernetes 在应用程序部署和管理方面的差异。 基本概述 Docker 是一个流行的容器化平台,允许开发人员在容器中创建、部署和运行应用程序。 Docker 提供了一组工具和 API,使开发人员能够构建和管理容器化应用程…...
 
【21-40】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了
【21-40】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用21、HTTPS是如何保证数据传输的安全,整体的流程是什么?(SSL是…...
 
软考111-上午题-【计算机网络】-URL和DNS
一、URL解析 org:各类组织结构(非盈利团队) 1-1、顶级域 顶级域名是域名的最后一个部分,即是域名最后一点之后的字母,例如:www.baidu.com这个域名中,顶级域是.com(或.COMÿ…...
 
EasyCVR视频汇聚平台海康Ehome2.0与5.0设备接入时的配置区别
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...
 
echarts实现炫酷科技感的流光效果
前言: echarts实现炫酷科技感的流光效果 效果图: 实现步骤: 1、引入echarts,直接安装或者cdn引入 npm i echarts https://cdn.jsdelivr.net/npm/echarts5.4.3/dist/echarts.min.js 2、封装 option方法,第一个数据是折线数据&a…...
 
从多模态生物图数据中学习Gene的编码-MuSeGNN
由于数据的异质性,在不同的生物医学背景下发现具有相似功能的基因对基因表示学习提出了重大挑战。在本研究中,作者通过引入一种称为多模态相似性学习图神经网络的新模型来解决这个问题,该模型结合了多模态机器学习和深度图神经网络࿰…...
 
Redis Desktop Manager可视化工具
可视化工具 Redis https://www.alipan.com/s/uHSbg14XmsL 提取码: 38cl 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 官网下载(不推荐):http…...
 
ARM汇编与逆向工程:揭秘程序背后的神秘世界
文章目录 一、ARM汇编语言:底层世界的密码二、逆向工程:软件世界的侦探工作三、ARM汇编与逆向工程的完美结合四、ARM汇编逆向工程的风险与挑战五、ARM汇编逆向工程的未来展望《ARM汇编与逆向工程 蓝狐卷 基础知识》内容简介作者简介译者简介ChaMd5安全团…...
 
idea使用docker将Java项目生成镜像并使用
1:开启docker 远程访问 使用 vim 编辑docker服务配置文件 vim /lib/systemd/system/docker.service [Service] Typenotify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not suppor…...
 
clickhouse sql使用2
1、多条件选择 multiIf(cond_1, then_1, cond_2, then_2, …, else) select multiIf(true,0,1) 当第一条件不成立看第二条件判断 第一个参数条件参数,第二参数条件成立时走 2、clickhouse 在计算时候长出现NaN和Infinity异常处理 isNaN()和isInfinite()处理...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
 
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
 
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
 
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
 
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
