MySQL之数据库DDL

文章目录

    • MySQL数据库基本操作
      • 数据定义DDL
        • 对数据库的常用操作
        • 创建表
        • 修改表格式结构

MySQL数据库基本操作

首先我们先了解SQL的语言组成,他分为四个部分

  • 数据定义语言(DDL)
  • 数据操纵语言(DML)
  • 数据控制语言(DCL)
  • 数据查询语言(DQL)

数据定义DDL

他主要包含三部分内容,对于数据库的常用操作,其次是对表结构的常用操作,

那说白了就是对数据库和表本身的修改,增加删除表,行和列等内容,不涉及数据本身

对数据库的常用操作
功能SQL
查看所有数据库show databases;
创建数据库create database [if not exists] mydb1 [charset=utf8]
切换数据库use mydb1;
删除数据库drop database [if exists] mydb1;
修改数据库编码alter database mydb1 character set utf8;

如果没有图形化界面,我们是需要使用第一个代码查看所有数据库

中括号内的文字表示可选项,可以写也可以不写,写的时候不需要带中括号,这里就用mydb1作为样例的名称,第一个可选项是因为存在时创建会报错

创建表

语法的基本形式如下

create table [if not exists] 表名(字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],字段名3 类型[(宽度)] [约束条件] [comment '字段说明'],
)[表的设置];

这里的字段名其实就是表的列名称,和其他的编程语言一样,是需要指定字段的类型,也就是这一列的数据类型

示例代码如下

create database if not exists TestDB;
use TestDB;
create table if not exists student(sid int,name varchar(20),gender varchar(20),age int,birth date,address varchar(20),score double
);

屏幕截图 2024-01-23 202511.png

对于这里的数据类型,我们的原则就是,够用,取范围小的,这样可以节省存储空间

  • 数值类型
类型大小范围(有符号)范围(无符号)用途
TINYINT1 byte(-128,127)(0,255)小整数值
SMALLINT2 bytes(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值
INTINTEGER4 bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 bytes(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 bytes(-3.402 823 466 E+38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度 浮点数值
DOUBLE8 bytes(-1.797 693 134 862 315 7 E+308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度 浮点数值
DECIMAL依赖于M和D的值依赖于M和D的值小数值
  • 字符串类型
类型大小用途
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

对于变长字符串,使用就像上面的示例一样,里面数值代表的是字节数

  • 日期类型
类型大小 ( bytes)范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3‘-838:59:59’/‘838:59:59’HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP41970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳

其他操作还有

功能SQL
查看当前数据库的所有表名称show tables;
查看指定某个表的创建语句show create table 表名;
查看表结构(字段名、数据类型等)desc 表名
删除表drop table 表名
修改表格式结构
功能SQL
添加列alter table 表名 add 列名 类型(长度) [约束];
修改列名和类型alter table 表名 change 旧列名 新列名 类型(长度) [约束];
删除列alter table 表名 drop 列名;
修改表名rename table 旧表名 to 新表名;

示例代码

-- 添加列
alter table student add dept varchar(20);
-- 修改列名和类型
alter table student change dept department varchar(30);
-- 删除列
alter table student drop department;
-- 修改表名
rename table student to stu;

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

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

相关文章

API接口的种类和用途

API(Application Programming Interface),翻译为应用程序接口,是一套定义程序之间如何通讯的接口。API可以实现软件的可重用性、可维护性和互操作性,同时也可以提升软件的性能和安全性。API接口是一个软件系统中的重要…

亚马逊、eBay、TikTok等平台的综合运营实用工具分享!

亚马逊、eBay等电商平台为卖家提供了广阔的销售机会,但同时也带来了运营管理的挑战。为了提高运营效率和销售业绩,卖家需要借助一些实用工具。本文将介绍一些在亚马逊、eBay等平台上综合运营中非常有用的工具,帮助卖家更高效地管理店铺&#…

CC工具箱使用指南:【处理面要素空洞】

一、简介 面要素在经过一系列的处理后,可能会存在空洞。 有些小空洞面积过小,人工检查很容易遗漏,于是就做了这个工具。 目的就是获取面要素的空洞,或者去除空洞获取要素的边界。 二、工具参数介绍 右键点击面要素图层&#xf…

spring mvc 请求与响应

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

Matlab使用Python

Matlab内嵌Python Matlab较新版本内置对Python支持。可在脚本内运行Python命令,执行Python脚本文件。其中关键之处是Matlab和Python数据类型之间的转换: Python参数传入和Python运行结果返回。官方文档有细节描述。不同版本Matlab对支持的Python版本有说明。Python…

神经网络的学习(Neural Networks: Learning)

1.代价函数 案例:假设神经网络的训练样本有𝑚个,每个包含一组输入𝑥和一组输出信号𝑦,𝐿表示神经网络层数,𝑆𝐼表示每层的 neuron 个数(𝑆&#…

k8s 容器 java 应用内存限制不生效

一 k8s java 应用内存限制不生效 回顾:Linux杂谈之java命令 namespace负责资源隔离 cgroups负责资源限制 容器JVM最佳实践 Metaspace 是 非 Heap 内存 管理空间,那么 Heap 就是操作空间 JVM内存模型简介 隔离: 两个进程完全隔离感知&#xff1…

VM虚拟机忘记密码,ISO镜像修改

VM虚拟机忘记密码,ISO镜像修改 制作镜像: 镜像已制作,可在文末链接自行获取从镜像启动系统 1)添加IOS镜像文件: 2)开机进去固件: 进入后选择对应的驱动器启动 3. 修改密码 点击修改密码软件&a…

iframe 页面中获取父级页面的 localStorage 或者 sessionStorage数据

问题 在开发的过程中遇到需要在 iframe 页面中获取父级页面系统所存储的本地数据的需求。由于浏览器的安全策略,是不允许 iframe 页面直接获取系统的存储数据的,那么要如何解决呢? 解决方法 对于该问题,我们可以通过 window.po…

【极数系列】Flink环境搭建(02)

【极数系列】Flink环境搭建(02) 引言 1.linux 直接在linux上使用jdk11flink1.18.0版本部署 2.docker 使用容器部署比较方便,一键启动停止,方便参数调整 3.windows 搭建Flink 1.18.0版本需要使用Cygwin或wsl工具模拟unix环境…

每日一题——LeetCode1309.解码字母到整数映射

方法一 个人方法&#xff1a; 由题意可得&#xff1a; 1、1-26对应a-z&#xff0c;只不过从10开始&#xff0c;后面要加#才能表示字母 2、10# - 26# 都是三位数&#xff0c;开头<2&#xff0c;结尾都为# 3、某个数后面两位如果不为#那么该数为1-9对应a-i&#xff0c;如果…

SQL 注入漏洞原理以及修复方法

漏洞名称 &#xff1a;SQL注入 、SQL盲注 漏洞描述&#xff1a;所谓SQL注入&#xff0c;就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器执行恶意的SQL命令。具体来说&#xff0c;它是利用现有应用程序&#xff0c;将&…

华为设备配置简单流分类

实验需求&#xff1a;10.1.1.0/24网段的PC访问PC3&#xff0c;流量进入AR1时&#xff0c;DSCP字段优先级为0&#xff0c;在AR1进行配置&#xff0c;将10.1.1.0/24网段流量的优先级映射为内部优先级46。 实验步骤&#xff1a; 步骤1&#xff1a;配置IP地址 [AR1]interface g0/…

Pygame之纯Python实现你好2024效果

Pygame之纯Python实现你好2024效果 前言&#xff1a; 对于某些指JavaScript与前端实现为Python实现你好2024效果的营销号实在看不下去了。无底线营销&#xff0c;还要私信拿源码&#xff0c;hhh 于是就有了以下代码&#xff1a; 运行前安装pygame pip install pygame运行效果…

k8s-基础知识(Service,NodePort,CusterIP,NameSpace,资源限制)

Node Node 是 Pod 真正运行的主机&#xff0c;可以是物理机&#xff0c;也可以是虚拟机。 Annotations 原文链接 Annotations 是 key/value 形式附加于对象的注解。不同于 Labels 用于标志和选择对象&#xff0c;Annotations 则是用来记录一些附加信息&#xff0c;用来辅助应…

Linux mesg命令教程:如何控制终端的消息接收(附案例详解和注意事项)

Linux mesg命令介绍 mesg是一个用户用来控制其他用户是否可以向其关联到标准错误输出的终端设备写入访问权的实用程序。如果允许写入访问&#xff0c;那么像talk(1)和write(1)这样的程序可能会在终端上显示消息。在优先考虑各种安全风险的用户日益增多的情况下&#xff0c;正确…

HTML 入门手册(一)

目录 HTML介绍 1-基础语法 单标签 双标签 整体结构 2-标题和水平线 标题 水平线 3-段落和换行 段落 换行 4-列表 无序列表 有序列表 嵌套列表 5-div和span div span 6-格式化标签 粗体 斜体 下划线中划线 上标和下标 7-超链接(a标签) 链接到URL 链接…

openharmony应用开发HDC 常用命令

HDC 常用命令 1.查看hdc版本&#xff1a; hdc --version 2.查看设备sn号&#xff1a; hdc list targets 3.进入shell: hdc shell 4.重启设备 hdc shell reboot 5.设置RK开发板根目录的读写权限 hdc shell mount -o rw,remount / # 此命令用于解决推包时提示只读路径&…

GitHub无法完成推送 的设置选项

GitHub无法完成推送 的设置选项 系统设置 VS中控制台设置【指令】 控制台调出方法 以下为VS控制台指令 git config --global --unset http.proxy git config --global --unset https.proxygit config --global http.proxy 127.0.0.1:7890 git config --global https.proxy …

如何在Nginx中配置防盗链?

如何在Nginx中配置防盗链? 防盗链是一种保护网站资源不被非法下载的技术。在Web服务器中&#xff0c;我们可以使用Shell脚本来实现防盗链的配置。本文将介绍如何在Linux系统中的Nginx Web服务器中使用Shell脚本实现防盗链。 一、什么是防盗链&#xff1f; 防盗链是一种防止…