MySQL数据库,创建和管理表

创建数据库:

方式一:创建数据库

CREATE DATABASE 数据库名;(使用的是默认的字符集)

方式二:创建数据库并指定字符集

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

方式三:判断数据库是否已经存在,不存在则创建数据库

CREATE DATABASE IF NOT EXISTS 数据库名;

(也可以指定字符集:CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET 字符集)

如果MySQL中已经存在相关的数据库,则忽略创建语句,不再创建此名称的数据库

管理数据库

查看当前连接中的数据库:

SHOW  DATABASES;

切换数据库:

USE 数据库名;

查看当前数据库中保存的数据表:

SHOW  TABLES;

查看当前使用的数据库:

SELECT  DATABASE( )  FROM  DUAL;

查看指定的数据库下保存的表:

SHOW  TABLE  FROM  数据库名;

修改数据库:

更改数据库字符集:

ALTER  DATABASE  数据库名  CHARACTER  SET  字符集;

删除数据库:

方式一:删除指定的数据库

DROP  DATABASE  数据库名;

方式二:删除指定的数据库(如果存在即删除,不存在即结束操作)

DROP  DATABASE  IF  EXISTS  数据库名;

数据类型:

其中,常见的数据类型介绍如下:

创建数据表:

创建数据表(方式一):

CREATE  TABLE  IF  NOT  EXISTS  表名(

字段名  数据类型  [约束条件] [默认值],

字段名  数据类型  [约束条件] [默认值],

……

[表约束条件]

); 

注:

[ ]中的内容表示约束,也可以没有

如果创建表时没有指明使用的字符集,则默认使用表所在的数据库的字符集。

IF  NOT  EXISTS可以没有,但是建议要有

查看表结构:

DESC  表名;

查看创建表的语句结构:

SHOW  CREATE  TABLE  表名;

创建数据表(方式二):基于现有的表

CREATE  TABLE  表名

AS

SELECT  字段……

FROM 现有的表的表名

……(查询的操作)

将查询现有的表的查询结果来创建一个新的表

注:若AS后面的查询操作中的字段起了别名,则该方法创建的表中的字段名即为相应的字段的别名

修改表:

修改表使用 ALTER  TABLE  表名  ……

添加字段

ALTER  TABLE  表名

ADD  新字段名  数据类型  [约束条件];

新字段默认添加到表中的最后一个字段的位置后

除此之外,还可以添加字段到指定位置:

ALTER  TABLE  表名

ADD  新字段名  数据类型  [约束条件]  FIRST;

表示添加新字段到首列

ALTER  TABLE  表名

ADD  新字段名  数据类型  [约束条件]  AFTER  字段名;

表示新字段在指定的字段名的位置后添加

修改一个字段

ALTER  TABLE  表名

MODIFY  字段名  数据类型  DEFAULT  默认值;

要将字段的位置进行修改,可以在末尾加上FIRST/AFTER 字段名

注:数据类型一般不会做大更改,一般是将VARCHAR一类的数据类型的长度做修改

若不涉及更改默认值,DEFAULT的语句可省略

重命名一个字段

ALTER  TABLE  表名

CHANGE  字段名  新字段名  数据类型;

注:可以在重命名时对字段的数据类型做修改。

删除一个字段

ALTER  TABLE  表名

DROP  COLUMN  字段名;

重命名表:

方式一:

RENAME  TABLE  表名

TO  新表名;

方式二:

ALTER  TABLE  表名

RENAME  TO   新表名;

删除表:

DROP  TABLE  IF  EXTSTS  表名;

清空表:

清空表中的所有数据,表本身还在。

TRUNCATE  TABLE  表名;

对比TRUNCATE  TABLE 和 DELETE  FROM

相同点:都可以实现对表中的所有数据的删除,同时保留表结构。

不同点:

TRUNCATE  TABLE:执行此操作,表中数据全部清除。同时,数据不能回滚。属于DDL。

DELETE  FROM:表中数据被指定删除,同时数据可以实现回滚。属于DML。

COMMIT 和 ROLLBACK

COMMIT:提交数据。执行COMMIT,数据就被永久的保存在数据库中,意味着数据不可回滚

ROLLBACK:回滚数据。一旦执行ROLLBACK,则可以实现数据的回滚

关于DDL和DML的说明:

DDL的操作一旦执行,就不可回滚。执行完后,会自动执行一次COMMIT,不受SET  autocommit  =  false的影响

DML的操作默认情况下,一旦执行,也是不可回滚的。但是若在执行DML之前,执行了SET  autocommit  =  false的操作,则执行的操作就可以实现回滚

TRUNCATE  TABLE 比 DELETE  FROM速度快,且使用的系统和事务日志资源少,但TRUNCATE无事务且不触发TRIGGER,有可能造成事故,故不建议在开发代码中使用此语句

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于若依的ruoyi-nbcio的flowable流程管理系统增加服务任务和我的抄送功能

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 1、增加一个状态字段 wf_copy增加下面两个字段 就用未读已读来区分 2、前端 api接口增加如下&#xff…

城市基础设施智慧路灯改造的特点

智慧城市建设稳步有序推进。作为智慧城市的基础设施,智能照明是智慧城市的重要组成部分,而叁仟智慧路灯是智慧城市理念下的新产品。随着物联网和智能控制技术的飞速发展,路灯被赋予了新的任务和角色。除了使道路照明智能化和节能化外&#xf…

Oracle(2-12)User-Managed Complete Recovery

文章目录 一、基础知识1、Media Recovery 介质恢复2、Recovery Steps 恢复步骤3、恢复4、Recovery in ARCHIVELOG 在ARCHIVELOG中恢复5、Complete Recovery完全恢复6、CR in ARCHIVELOG Mode 归档日志模式下的完全恢复7、Determine Files Need Recovery确定需要恢复的文件8、Ab…

HTTP与HTTPS的区别:安全性、协议地址和默认端口等比较

目录 ​编辑 作者其他博客链接: 一、概述 二、HTTP与HTTPS的区别 安全性 协议地址 默认端口 性能影响 三、比较与评估 浏览器支持 部署和维护成本 隐私保护 四、最佳实践建议 作者其他博客链接: 深入理解HashMap:Java中的键值对…

侯捷C++ (二--STL标准库)2

适配器 adapter 也可以叫做改造器,改造已经存在的东西 有:仿函数适配器、迭代器适配器、容器适配器 实现适配,可以使用继承、复合的两种方式实现。 共性:STL使用复合来实现适配 容器适配器 包括stack、queue,内含一…

win11 powershell conda 激活环境后不显示环境名称

win11 powershell conda 激活环境后不显示环境名称 问题现象解决方法 问题现象 安装 Anaconda 后在 powershell 中激活环境后,命令行前面不显示环境名称 解决方法 在 powershell 中执行 conda init 重新打开 poweshell 出现以下问题,请参考 win11 p…

fl studio 21破解版注册机下载 水果音乐编曲软件 FL Studio v21.

FL studio21中文别名水果编曲软件,是一款全能的音乐制作软件,包括编曲、录音、剪辑和混音等诸多功能,让你的电脑编程一个全能的录音室,它为您提供了一个集成的开发环境,使用起来非常简单有效,您的工作会变得…

zabbix、netdata和glances,做最简单的系统资源监控

软件需要显示服务器的资源信息(CPU、内存、网络、硬盘等),但是软件是在Docker容器中运行。 目前方案 通过ssh在主机上远程运行ps、free等指令,获取相应的信息。这种方案需要代码配置主机的IP,以及用户名和密码&#…

指针(笔记1)

一、内存和地址 内存及其管理方法: 1.计算机主存储器由一个一个存储单元组成,微型计算机以字节作为存储单元 2.内存区的每一个字节有一个唯一的编号,这就是“地址”,它相当于教学楼中的教室号 3.内存地址,是一个无符号整数(un…

04.仿简道云公式函数实战-QLExpress基础语法

1. 前言 小伙伴大家好,在上一篇文章我们简单初探了QLExpress表达式引擎,我们简单写了一个HelloWorld的程序,并成功的运行期望的结果。在本篇文章中我们来熟悉一下QLExpress的语法,因为我们在后面简道云公式实战的时候&#xff0c…

java之SpringBoot开发实用篇

MENU SpringBoot开发实用篇KF-1.热部署KF-1-1.手动启动热部署KF-1-2.自动启动热部署KF-1-3.参与热部署监控的文件范围配置KF-1-4.关闭热部署 KF-2.配置高级KF-2-1.ConfigurationPropertiesKF-2-2.宽松绑定/松散绑定KF-2-3.常用计量单位绑定KF-2-4.校验KF-2-5.数据类型转换 KF-3…

MFC CLXHHandleEngine动态库-自定义设置对话框使用

实现的效果如下所示: void CSampleDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 CSgxMemDialog dlg(180, 100); dlg.SetEnable(true); dlg.SetWindowTitle(_T("自定义对话框")); dlg.AddStatic(1000, //控件资源…

Sbatch, Salloc提交任务相关

salloc 申请计算节点,然后登录到申请到的计算节点上运行指令; salloc的参数与sbatch相同,该部分先介绍一个简单的使用案例;随后介绍一个GPU的使用案例;最后介绍一个跨节点使用案例; 首先是一个简单的例子&a…

SpringBoot整合ZXing创建二维码和条形码

文章目录 1、引入依赖2、Service层实现3、Controller4、效果 之前SpringSecurity时,登录用到了图片验证码辅助登录:【 整合hutool实现集成图片验证码】,以下为整合zxing实现二维码和条形码的生成。 1、引入依赖 引入ZXing依赖的坐标&#x…

探索未来新趋势:鸿蒙系统的崭新时代

探索未来新趋势:鸿蒙系统的崭新时代 随着科技的不断发展,操作系统作为计算机和移动设备的核心,扮演着至关重要的角色。近年来,一种备受瞩目的操作系统——鸿蒙系统(HarmonyOS)崭露头角,正引领着…

Servlet学习笔记

简介 浏览器请求处理流程:浏览器发请求 > 服务器tomcat( > 应用程序 ( > servlet) ) Servlet应用的三大作用域:request,session,application tomcat存放项目的层级结构 注释:servlet原引用包名 javax.serv…

城市道路积水如何有效预警?内涝积水监测仪效果

在城市中道路积水是一个常见的问题,特别是在暴雨季节还可能形成城市内涝。为了解决这个问题建立一个有效的预警系统是至关重要的。城市内涝积水监测仪应该能够实时监测道路积水情况,并及时向后台工作人员发出警报,以便他们能够采取适当的措施…

mysql中的DQL查询

表格为: DQL 基础查询 语法:select 查询列表 from 表名:(查询的结果是一个虚拟表格) -- 查询指定的列 SELECT NAME,birthday,phone FROM student -- 查询所有的列 * 所有的列, 查询结果是虚拟的表格&am…

【Spring教程23】Spring框架实战:从零开始学习SpringMVC 之 SpringMVC简介与SpringMVC概述

目录 1,SpringMVC简介2、SpringMVC概述 欢迎大家回到《Java教程之Spring30天快速入门》,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》&…

LANDSAT_7/02/T1/RAW的Landsat7_C2_RAW类数据集

Landsat7_C2_RAW是指Landsat 7卫星的数据集,采用的是Collection 2级别的数据处理方法,对应的是Tier 1级别的原始数据(RAW)。该数据集包括了Landsat 7卫星从1999年4月15日开始的所有数据,共涵盖了全球范围内的陆地和海洋…