mysql新建,更新,删除表语句

news/2025/3/31 22:01:12/

1.建表语句

一般最简单的建表语句可包含下面4个部分,create_definition 包含列的定义,索引定义等,table_options 包含一些选项如engine 是innodb还是myISAM等,CHARACTER指定字符集等选项,partition_options 是涉及到表分区的定义

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(create_definition,...)[table_options][partition_options]

一般简单的建表语句如下

create table role(`id` BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,`role_name` VARCHAR(64) NOT NULL COMMENT '角色名称',`role_code` VARCHAR(64) NOT NULL COMMENT '角色编码',`create_time` datetime COMMENT '创建时间',`update_time` datetime COMMENT  '更新时间',`create_by` VARCHAR(32) COMMENT '创建人',`update_by` VARCHAR(32) COMMENT '更新人',INDEX `role_code_idx` (`role_code`),INDEX `code_name_idx` (`role_code`,`role_name`)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';

1.1 mysql列的类型

常用的列类型有整形,浮点型,字符型,日期类型等

类型描述存贮(字节)有符号最小值无符号最小值有符号最大值无符号最大值
TINYINT1-1280127255
SMALLINT2-3276803276765535
MEDIUMINT3-83886080838860716777215
INT4-2147483648021474836474294967295
BIGINT8-2^6302^63-12^64-1
DECIMAL精确小数,例如,DECIMAL(5,2)表示总共5位数,2位小数,范围在-999.99 to 999.99
float存贮近似精度小数4
double存贮近似精度小数8
char固定长度的字符类型,例如char(8)表示最多存贮8个字符,即使存入的字符长度不够8字符,也会分配固定的存贮空间
varchar可变存贮长度的字符类型,例如varchar(8)表示最多存贮8个字符,不会使用固定的存贮空间,会多一到2个字节存贮,当前字符长度
varchar可变存贮长度的字符类型,例如varchar(8)表示最多存贮8个字符,不会使用固定的存贮空间,会多一到2个字节存贮,当前字符长度
datetime日期类型,存贮YYYY-MM-DD HH:MM:SS 这种年月日时分秒格式的数据,于timestamp的区别是不受时区的影响8
timestamp日期类型,存贮YYYY-MM-DD HH:MM:SS 这种年月日时分秒格式的数据,受当前服务器时区影响4

2.修改表语句

2.1 修改表名

ALTER table old_table_name RENAME new_table_name;

2.2 添加新的列

以角色表为例,添加remark 列

ALTER table `role` add `remark` VARCHAR(256) COMMENT '备注';

2.3 更改列定义

使用CHANGE和Modify都可以修改列的定义,但modify不能修改列的名称,change可以,但是,change的开销会更大一些,

ALTER TABLE tbl_name[alter_option [, alter_option] ...][partition_options]alter_option: {table_options| CHANGE [COLUMN] old_col_name new_col_name column_definition[FIRST | AFTER col_name]| MODIFY [COLUMN] col_name column_definition[FIRST | AFTER col_name]
}

例子

ALTER table `role` CHANGE `remark` `remark_name` VARCHAR(512) COMMENT '备注';ALTER table `role` modify `remark_name` VARCHAR(256) COMMENT '备注';

2.3 删除列

ALTER TABLE tbl_name DROP [COLUMN] col_name

例如

ALTER table `role` DROP `remark_name`;

3.删除表语句

drop table table_name

例如

drop table `role`

http://www.ppmy.cn/news/53148.html

相关文章

minigpt4搭建过程记录,简单体验图文识别乐趣

引言 从3月开始,aigc进入了疯狂的开端,正如4月12日无界 AI直播 在《探索 AIGC 与人类合作的无限可能》中关于梳理的时间线一样,aigc的各种产品如雨后春笋般进入了不可逆的态势,里面有句话很形象,人间一日,…

软件保护器:Themida 3.1.14 Crack

先进的Windows软件保护系统 版本:3.1 版本:3.1.4.0 日期:2022 年 11 月 10 日 概述 在创建应用程序时,Compiler 会将应用程序源代码编译成多个由机器语言代码构成的目标文件。然后将目标文件链接在一起以创建最终的可执行文件。 与…

【笔试】备战秋招,每日一题|20230415携程研发岗笔试

前言 最近碰到一个专门制作大厂真题模拟题的网站 codefun2000,最近一直在上面刷题。今天来进行2023.04.15携程研发岗笔试,整理了一下自己的思路和代码。 比赛地址 A. 找到you 题意: 给定一个仅包含小写字母的 n n n\times n nn 的矩阵…

Linux内核进程管理与调度:策略优化与实践分析

Linux内核进程管理与调度 一、前言二、进程管理和多进程调度2.1 进程标识符和控制块2.2 进程状态和转换2.3 进程间通信 三、单处理器下的Linux进程调度3.1 Linux进程调度器3.2 时间片轮转调度算法3.3 最短剩余时间优先调度算法3.4 其他调度算法的不足 四、多处理器下的Linux进程…

模型剪枝网络 Learning Efficient Network throung Network Slimming 简述

1. 概述 训练得到的特征图,并不是所有特征图都重要,另一方面,希望对权重执行策略,体现出权重之间的差异性,最终目的就是获得不同特征图中的channel sacling factors,表征了不同特征图的重要性 2. BN 采…

【LeetCode: 1143. 最长公共子序列 | 暴力递归=>记忆化搜索=>动态规划】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

初识uniapp

创建小程序 依次点击HBuilderx 左上方的按钮:文件->新建->项目 然后打开该界面,输入项目名称,点击 浏览 按钮,可以选择项目保存的目录,这些完成后点击 创建 按钮就好了 比如小颖的项目名叫 :test-y…

SpringBoot中一个注解优雅实现重试Retry框架

目录: 1、简介2、实现步骤 1、简介 重试,在项目需求中是非常常见的,例如遇到网络波动等,要求某个接口或者是方法可以最多/最少调用几次;实现重试机制,非得用Retry这个重试框架吗?那肯定不是,相信…