【MySQL系列】表的学习及基本操作

news2024/11/17 13:45:46

「前言」文章内容大致是数据库表的基本操作

「归属专栏」MySQL

「主页链接」个人主页

「笔者」枫叶先生(fy)

「枫叶先生有点文青病」「句子分享」
人生当苦无妨,良人当归即好。
——烽火戏诸侯《雪中悍刀行》

MySQL

目录

  • 一、创建表
  • 二、修改表
  • 三、 删除表

一、创建表

创建表语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
...
field datatype
) character set 字符集 collate 校验规则 engine 存储引擎

说明

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

查看自己现在所在的数据库

select database();

在这里插入图片描述
创建表案例1:

create table if not exists user1(
id int,
name varchar(20) comment '用户名',
password char(32) comment '用户密码',
birthday date comment '用户生日'
)character set utf8 collate utf8_general_ci engine MyIsam;

在这里插入图片描述

ls /var/lib/mysql/user -l

在这里插入图片描述
不同的存储引擎,创建表的文件不一样,表存储引擎是MyISAM ,在数据目中有三个不同的文件,分别是:

  • user1.frm:表结构
  • user1.MYD:表数据
  • user1.MYI:表索引

查看表结构

desc 表名;

:desc的全称是describe
在这里插入图片描述
各个列的意思:
在这里插入图片描述
创建表案例2,与创建表案例1进行索引对比

create table if not exists user2(
id int,
name varchar(20) comment '用户名',
password char(32) comment '用户密码',
birthday date comment '用户生日'
)charset=utf8 collate=utf8_general_ci engine=InnoDB;

在这里插入图片描述
索引的不同,创建表的文件不一样。
在这里插入图片描述

二、修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表

查看数据库的表

语法:

show tables;

在这里插入图片描述

修改表名

alter table 表名 rename to 新的表名;

注意to可以省掉
例如,将 user1 修改表名为employee

alter table user1 rename to employee;

在这里插入图片描述

查看表创建时的信息

语法:

show create table 表名;

例如(在我这里,这个命令打印格式有点问题)
在这里插入图片描述

给表增加列

语法:

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,columndatatype]...);

说明

  • 大写的表示关键字
  • [] 是可选项,可以选择不写

例如,给表在最后新增一列

alter table employee add path_image varchar(128) comment '用户头像路径' after birthday;

after birthday意思是在birthday这列之后插入,插入新字段后,对原来表中的数据没有影响
在这里插入图片描述

修改表的某一列

语法:

ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,columndatatype]...);
  • 大写的表示关键字
  • [] 是可选项,可以选择不写

例如,修改表的name列,将其长度改成60

alter table employee modify name varchar(60);

在这里插入图片描述
但是,查看创建表时的信息,注解comment没有了,旧的的属性直接被新的属性直接覆盖了
在这里插入图片描述

删除表的某一列

语法:

alter table 表名 drop 表的哪一列;

例如,删除birthday列

alter table employee drop birthday;

在这里插入图片描述
注意:删除字段一定要小心,删除字段及其对应的列数据都没了,不建议使用

修改某一列的名字

 alter table 表名 change 旧的列名 新的列名+属性;

注意:新字段需要完整定义,即增加该列的属性

例如,将name列修改为xingming

table employee change name xingming varchar(60);

在这里插入图片描述

三、 删除表

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
  • 大写的表示关键字
  • [] 是可选项,可以选择不写

例如,删除一个表

 drop table user2;

在这里插入图片描述
注意:不要轻易删除表
--------------------- END ----------------------

「 作者 」 枫叶先生
「 更新 」 2023.7.9
「 声明 」 余之才疏学浅,故所撰文疏漏难免,
          或有谬误或不准确之处,敬请读者批评指正。

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

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

相关文章

组合模式的例子

// 组合模式的接口 public interface AccessDecisionVoter {// 投票结果的常量int ACCESS_GRANTED 1;int ACCESS_ABSTAIN 0;int ACCESS_DENIED -1;// 投票方法,根据用户和请求判断是否授权int vote(User user, Request request); }// 组合模式的叶子节点&#xf…

Android中system/bin/Input命令 -- Android12

IMS:Android中Input命令--Android12 1、Android12 Input命令更新1.1 shell脚本1.2 InputShellCommand#onCommand 命令解析 2、Input相关命令参数2.1 text2.2 keyevent2.3 tap2.4 swipe2.5 draganddrop2.6 press2.7 roll2.8 motionevent2.9 keycombination2.10 默认handleDefaul…

2023 WAIC图技术激活数据要素论坛圆满召开!

7月6日,以“智联世界 生成未来”为主题的2023世界人工智能大会(WAIC 2023)在上海隆重开幕。作为大会唯一的图技术论坛,“图技术激活数据要素论坛”也如期举行。 论坛现场,学术界专家学者、头部银行代表、产业界大咖齐聚…

二分图博弈(知识总结+例题)

思路来源 gzchenben的ppt 算法学习笔记(74): 二分图博弈 - 知乎 https://www.cnblogs.com/Zeardoe/p/16534557.html 知识点总结 以下部分摘自知乎:算法学习笔记(74): 二分图博弈 - 知乎 二分图博弈模型 给出一张二分图和起始点 H , A和B轮流操作…

Endnotes引用

准备不用zetro了,主要学校endnotes免费 该说不说,zetro拖入pdf直接识别并导入的功能是真的好用,添加备注也方便 可惜文献太多放不下了,扩容要加钱。 啧。算了算了。 这里主要介绍Endnotes中的文献怎么在word内引用&#xff0c…

SpringBoot 插件化开发模式,强烈推荐!

一、前言 插件化开发模式正在很多编程语言或技术框架中得以广泛的应用实践,比如大家熟悉的jenkins,docker可视化管理平台rancher,以及日常编码使用的编辑器idea,vscode等,随处可见的带有热插拔功能的插件,…

BitLocker 驱动器加密管理

为了有效地保护数字数据,应对其进行加密,以便只有授权用户才能访问。BitLocker 是某些 Windows 操作系统上可用的本机加密工具,可以为个人用户轻松加密Windows计算机。 什么是 BitLocker 加密 BitLocker 加密是 Windows 操作系统的内置安全…

STM32实现气压传感器测量(BMP180)

目录 0.接线设计 1.功能描述 2.四种方式实现大气压采集 3.模块选择 4.编程环境 5.模块主要参数 6.代码实现 1)标准库模拟IIC实现气压值采集 2)标准库硬件IIC实现气压值采集 3)HAL库模拟IIC实现气压值采集 4)HAL库硬件IIC实…

分享一次腾讯云轻量应用服务器被攻击

腾讯云轻量应用服务器,centOS。在上面装了redis、rabbit mq等服务,开着端口,结果被入侵了。 发现问题是通过腾讯云发来的邮件, 首先进到主机安全控制台,左侧这里进主机列表 然后可以看到自己的主机情况,防…

ROS:机器人系统仿真

目录 一、概念二、作用2.1仿真优势:2.2仿真缺陷: 三、组件3.1URDF3.2rviz3.3gazebo 一、概念 通过计算机对实体机器人系统进行模拟的技术,在 ROS 中,仿真实现涉及的内容主要有三:对机器人建模(URDF)、创建仿真环境(Gazebo)以及感知环境(Rviz)等系统性实…

HTML特性(attribute)和DOM属性(property)

文章目录 定义位置不同attributeproperty 范围不同属性映射行为区别数据类型不同大小写敏感区别相同属性返回值可能不同DOM 属性具有写保护 定义位置不同 attribute 是 HTML 标签上的某个属性,如 id、class、value 等以及自定义属性,定义后会呈现在标签上 proper…

赛效:如何在线编辑图片

1:点击导航栏里的“图片编辑”。 2:点击打开图片或者拖放打开图片。 3:左侧几十种工具,你可以用来在线编辑图片。 4:编辑完成后点击页面右上角的“下载”按钮,根据提示登录账号下载图片就可以了。 如果你想…

2023广州建博会:鸿雁总裁王米成详解全屋智能的发展脉络

全屋智能落地的模式有很多,但鸿雁依托其智能面板优势,逐渐探索出一条属于鸿雁的全屋智能发展路径和商业模式。 智哪儿创始人、总编彭安军(左),鸿雁电器总裁王米成(右) 在2023年的广州建博会上&a…

【Linux从入门到放弃】进程状态的理解以及什么是僵尸进程和孤儿进程?

🧑‍💻作者: 情话0.0 📝专栏:《Linux从入门到放弃》 👦个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大家的指正与点赞,谢谢! 文…

你知道什么是基于StyleNeRF的conditional GAN模型吗

随着深度学习技术的不断发展,生成对抗网络(GAN)已经成为了人工智能研究和应用中的重要组成部分。其中,GAN可以被用来生成高质量的图像、视频等内容,这为娱乐产业和数字化制作带来了新的机遇和挑战。本文将介绍一种基于…

numpy 笔记 pad

1 基本介绍 对原本的矩阵进行填充 numpy.pad(array, pad_width, modeconstant, **kwargs) array待填充的矩阵pad_width要填充的位置mode填充方式 2 参数举例 2.0 使用的数据 import numpy as np anp.arange(12).reshape(3,4) aarray([[ 0, 1, 2, 3],[ 4, 5, 6, 7],…

【分布式 】 ELK 企业级日志分析系统

目录 一、ELK概述1.1 ELK简介1.2 为什么要使用ELK1.3 完整日志系统基本特征1.4 ELK的工作原理 二、搭建ELK2.1 ELK Elasticsearch 集群部署(在Node1、Node2节点上操作)node1 操作node2 同node1操作 2.2 安装 Elasticsearch-head 插件ELK Logstash 部署&a…

作为一个测试工程师,你选择python还是java?

问:“你平时工作中,用java多还是用python多”? 答:“都还可以,根据具体的场景选择不同的语言”。 问:“比如说呢”? 答:“开发自己的测试平台,肯定会选择java&#xf…

Stable Diffusion - ControlNet 插件中扩展局部重绘 InpaintOnly + LaMa 的算法与应用

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131643131 LaMa: https://github.com/advimman/lama Paper: Resolution-robust Large Mask Inpainting with Fourier Convolutions LaMa: Large…

ActiveMQ详细入门教程系列

一、什么是消息中间件 两个系统或两个客户端之间进行消息传送,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。 消息中…