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,有可能造成事故,故不建议在开发代码中使用此语句

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

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

相关文章

openGauss学习笔记-150 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_backup

文章目录 openGauss学习笔记-150 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_backup150.1 背景信息150.2 前提条件150.3 语法150.4 参数说明150.5 示例 openGauss学习笔记-150 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_backup 150.1 背景信息 openGaus…

解读 | GPT-4突然“变赖“ 是莫名其妙还是另有玄机

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 事情是这样的&#…

DSP外部中断笔记

中断原理 三部分 注意 ,外部中断使能,PIE使能,CPU中断使能 外部中断有7个,PIE有12组,一个组有8个中断复用。只有一个CPU中断可执行。 外部中断原理 1、外部中断概述 外部中断结构图 外部中断XINT1对应的是0到31GPIO…

记录一次云原生线上服务数据迁移全过程

文章目录 背景迁移方案调研迁移过程服务监控脚本定时任务暂停本地副本服务启动,在线服务下线MySQL 数据迁移Mongo 数据迁移切换新数据库 ip 本地服务启动数据库连接验证服务打包部署服务重启前端恢复正常监控脚本定时任务启动旧服务器器容器关闭 迁移总结 背景 校园…

TCP的滑动窗口机制

网络的错误检测和补偿机制非常复杂。 一、等待超时时间(返回ACK号的等待时间) 当网络繁忙时会发生拥塞,ACK号的返回变慢,较短的等待时间会导致频繁的数据重传,导致本就拥塞的网络雪上加霜。如果等待时间过长&#xf…

VC++使用GetProcessTimes获取进程创建时间、销毁时间、用户态时间、内核态时间

一、GetProcessTimes函数简介(微软MSDN) 微软提供了一个非常有用的API函数GetProcessTimes用来获取进程创建时间、销毁时间、用户态时间、内核态时间,msdn连接为:GetProcessTimes 函数 (processthreadsapi.h) 其函数原型为&#…

2022年第十一届数学建模国际赛小美赛A题翼龙如何飞行解题全过程文档及程序

2022年第十一届数学建模国际赛小美赛 A题 翼龙如何飞行 原题再现: 翼龙是翼龙目中一个已灭绝的飞行爬行动物分支。它们存在于中生代的大部分时期:从三叠纪晚期到白垩纪末期。翼龙是已知最早进化出动力飞行的脊椎动物。它们的翅膀是由皮肤、肌肉和其他组…

聚类算法的性能度量

聚类算法的性能度量 聚类算法就是根据数据中样本与样本之间的距离或相似度,将样本划分为若干组/类/簇,其划分的原则:簇内样本相似、簇间样本不相似,聚类的结果是产生一个簇的集合。 其划分方式主要分为两…

java实现网络聊天

网络聊天实现步骤(从功能谈论方法): 客户端: 1.登录面板:注册提醒用户注册格式,登录账号密码不为空,点击登录的时候需要连接服务器端,启动聊天面板。(监听用户点击登录…

Spring日志完结篇,MyBatis操作数据库(入门)

目录 Spring可以对日志进行分目录打印 日志持久化(让日志进行长期的保存) MyBatis操作数据库(优秀的持久层框架) MyBatis的写法 开发规范: 单元测试的写法 传递参数 Spring可以对日志进行分目录打印 他的意思是说spring相关只打印INFO…

Truffle的基础语法与js测试语法

truffle编译 truffle compiletruffle部署 truffle migratetruffle测试 使用test文件夹下的所有文件测试 truffle test使用单个文件 测试 truffle test 文件所在位置

机器学习算法(9)——集成技术(Bagging——随机森林分类器和回归)

一、说明 在这篇文章,我将向您解释集成技术和著名的集成技术之一,它属于装袋技术,称为随机森林分类器和回归。 集成技术是机器学习技术,它结合多个基本模块和模型来创建最佳预测模型。为了更好地理解这个定义,我们需要…

[UIM]论文解读:subword Regularization: Multiple Subword Candidates

文章目录 一、完整代码二、论文解读2.1 介绍2.2 NMT2.3 Unigram language model2.4 subword 抽样2.5 效果 三、整体总结 论文:Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates 作者:Taku Kudo 时…

低多边形3D建模动画风格纹理贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

什么是神经网络的非线性

大家好啊,我是董董灿。 最近在写《计算机视觉入门与调优》(右键,在新窗口中打开链接)的小册,其中一部分说到激活函数的时候,谈到了神经网络的非线性问题。 今天就一起来看看,为什么神经网络需…

ThinkPHP连接ORACLE数据库教程

目录 概念基本步骤详细操作问题排除参考 概念 要连接Oracle数据库,必须有两个东西,一个PHP官方写的扩展,一个Oracle官方写的客户端PHP是通过扩展去操作oralce客户端连接的服务端数据库,所以两个都不能少,而且版本必须…

P1005 [NOIP2007 提高组] 矩阵取数游戏

网址:P1005 [NOIP2007 提高组] 矩阵取数游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 动态规划和高精度的组合,使我的滨州旋转 最后只得了80,两个测试点超时了 看题解有人是用了int128来做的,明天学一下 我的递归思路和…

MongoDB的分片

本文主要介绍MongoDB的分片。 目录 MongoDB的分片组成分片过程操作步骤注意事项 MongoDB的分片 MongoDB的分片是一种横向扩展数据库的方式,可以将数据分散存储在多台服务器上,从而提高数据库的处理能力和可用性。 组成 MongoDB的分片由三个组成部分组…

Ansible中执行流控制

1.ansible中的迭代循环 创建目录和文件 vim createfile.yaml - name: create file playbook hosts: all tasks: - name: create file file: path: "/mnt/{{item[name]}}" state: …

scala变量与变量类型

1.6 变量与类型(重点)1.6.1 变量推断1.6.2 多变量定义1.6.3 var和val的区别 1.6.3.1 是否可变 1.6.3.2 延迟加载 1.6 变量与类型(重点) val修饰的变量,相当于Java中final修饰的变量; // 定义常量s1,使用…