MySQL基本语法总结

创建数据库

create database 数据库名;   -- 字符集要看mysql 版本,  5.7  Latin,  8.0  utf8
create database 数据库名 character set ‘utf8’;-- 指定数据库的字符集      
create database  IF NOT EXISTS 数据库名  character set ‘utf8’;   --   判断数据库是否存在,部存在则创建,存在也不创建

----   character set ‘字符集’       =====》 charset  ‘字符集’

character set ‘字符集’     可以指定数据库 、表、字段

显示mysql 字符集等

show variables like ‘character_%’;
在这里插入图片描述

切换数据库

use 数据库;

显示数据库中的数据表

show tables ; – 获取当前所处的数据库中的数据表

show tables from 数据库名;— 获取指定数据库中的数据表
在这里插入图片描述

显示mysql服务器有哪些数据库

show databases;

显示当前数据库的名称

select database();

修改数据库

alter database 数据库名 character set ‘字符集’ ;

删除数据库

删除指定数据库(若指定的数据库名,不存在,也报错)
drop database 数据库名;
删除指定数据库(IF EXISTS 若指定数据库存在,则删除,不存在,也啥也不操作)
drop database IF EXISTS 数据库名

删除数据表

删除表名(若指定表名,不存在,也报错)
drop table 表名; —删除当前处的数据库中的表
删除指定表(IF EXISTS 若指定表存在,则删除,不存在,也啥也不操作)
drop table IF EXISTS 表名
删除指定数据库中的表(IF EXISTS 若指定表存在,则删除,不存在,也啥也不操作)
drop table IF Exists 数据库名.表名

显示数据库定义信息

在这里插入图片描述

show cteate database 数据库名
show cteate database 数据库名 \g
show cteate database 数据库名 \G

显示表的定义信息

在这里插入图片描述
在这里插入图片描述

show create table 表
show create table 表\g
show create table 表\G

数据库重命名问题

一般可视化界面是允许重命名的,这底层的逻辑如下:
是新建数据库, 把所有表复制到新的数据库,再删除旧的数据库,这过程很浪费资源的。

创建表

create  table IF NOT EXISTS  表名(
	col INT,
	name varchar(10)
)

基于现有的表创建表,同时会把数据带过来,相当于查询数据,创建一个表存放这些数据

create table 表名
as
select emp_id,emp_name
from employee;
在这里插入图片描述
在这里插入图片描述

创建指定存储引擎、字符串、排序
CREATE TABLE 表名(
列名1 数据类型(长度) CHARACTER SET 字符集名称 关键字,
列名2 数据类型(长度) CHARACTER SET 字符集名称 关键字,
列名3 数据类型(长度) CHARACTER SET 字符集名称 关键字,

)ENGINE = 存储引擎 CHARACTER SET 字符集名称 COLLATE 集合名称;
在这里插入图片描述

查看表结构

desc table 表名;
在这里插入图片描述

查看创建表的语句

show create table 表名;

表的修改

追加一列

alter table 表名
add [column] 字段名 字段类型 [FIRST | AFTER 表中现有的字段]
默认是追加到表的最后一列,可以通过 [FIRST | AFTER 表中现有的字段] 若只写First 就是追加到第一个列,
alter table zen.login
add login_datetime datetime default now() 追加一个login_datetime 列。默认值 系统时间

修改字段的 数据类型、长度 、默认值

alter table 表名
modify 字段 数据类型 default ‘xxx’

alter table table_1
modify colA varchar(50) AFTER colID ----- 如果表table_1 存在colA列,则会把colA列移动到colID 后,
列的重命名

alter table 表名
change 原来的字段 新的字段 数据类型

删除字段

alter table 表名
drop column 字段

重命名表

方式1 sqlServer 中就是这种 sp_rename 系统存储过程
Rename table 表名
TO 新的表名

方式2
alter table 表名
rename [TO] 新的表名

清除表

truncate table 表名 – 删除表的数据,表结构还在

同时插入多行记录 的Insert into

insert into 表名(…) values()
同时插入多行记录 非原子性,失败与否不影响其他的数据操作 SQL server Mysql 同样适应
insert into 表名(…) values(),(),()
在这里插入图片描述

使用insert into 同时插入多条记录时,MySQL会返回一些在执行单行插入时没有的额外信息,这些信息的含义如下:
① Records:表名插入的记录条数
② Duplicate:表名插入时被忽略的记录,原因可能是这些记录包含了重复的主键值
③ Warning:表明有问题的数据值,例如发生数据类型转换

一个同时插入多行记录的Insert 语句等于多个单行插入的insert 语句,但是多行的insert 语句在处理过程中效果更高,因为Mysql执行单条Insert语句插入多行数据比使用多条Insert语句快(占带宽就比多条insert语句少),所以在插入多条记录时,最好选择使用单条insert 语句方式插入

计算列

sql server

alter table 表名
add  列名  as   计算的公式   Persisted



alter table  Table_1
add col as  col1+col2  Persisted

MySQL 8.0 计算列

CREATE TABLE tb1(
id INT,
cloa INT,
colb INT,
c INT GENERATED ALWAYS AS (cola + colb) VIRTUAL   计算列
);

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

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

相关文章

vue-cli前端工程化——创建vue-cli工程 router版本的创建 目录结构 案例初步

目录 引出创建vue-cli前端工程vue-cli是什么自动构建创建vue-cli项目选择Vue的版本号 手动安装进行选择创建成功 手动创建router版多了一个router 运行测试bug解决 Vue项目结构main.jspackage.jsonvue.config.js Vue项目初步hello案例 总结 引出 1.vue-cli是啥,创建…

企业数字化转型与股利分配(2007-2021年)

参照李滟(2023)的做法,本团队对来自西南大学学报(社会科学版)《企业数字化转型与股利分配》一文中的基准回归部分进行复刻。 企业数字化转型已成为我国经济增长的新引擎和新动力。为探究数字化转型对企业财务决策的影…

Spring之事务管理

文章目录 前言一、事务及其参数含义1.事务的四个特性2.事务的传播行为(propagation)3.事务隔离性4.事务的隔离级别(ioslation)5.timeout(超时)6.readOnly(是否只读)7.rollbackFor&am…

Android面试官:“来给我讲讲View绘制?”

前言 迎面走来的一位中年男子,他一手拿着保温杯,一手抱着笔记本电脑,顶着惺忪的睡眼,不紧不慢地走着,不多的几根头发在他头顶自由飞翔。过了一会,他面对着我坐下,放下电脑和保温杯,…

SPSS多元线性回归操作入门实例

做农情反演的时候往往需要用到SPSS多元线性回归,这里提供一个操作案例 (一)SPSS安装 关于SPSS安装,请参考本人博客:保姆级SPSS图文安装教程_追忆苔上雪的博客-CSDN博客 (二)SPSS多元线性回归实例 在文章ArcGIS入门操作手册_追忆苔上雪的博…

Apache Maven简介安装及系统坏境配置eclipse配置Apache Maven---详细介绍

一,简介 Maven可以简化项目的构建和依赖管理,并提供了一种规范化和可复用的方式来管理Java项目。它广泛应用于Java开发领域,简单来说:它提供了一个简单而强大的方式来管理项目的构建、依赖关系和文档在企业级项目中被广泛采用。 1…

如何预防ssl中间人攻击?

当我们连上公共WiFi打开网页或邮箱时,殊不知此时可能有人正在监视着我们的各种网络活动。打开账户网页那一瞬间,不法分子可能已经盗取了我们的银行凭证、家庭住址、电子邮件和联系人信息,而这一切我们却毫不知情。这是一种网络上常见的“中间…

Java多线程编程中的线程控制:挂起、停止和恢复

Java 线程控制:挂起、停止和恢复 在多线程编程中,对线程进行控制是非常重要的,可以通过挂起、停止和恢复线程来实现对线程的管理。本文将介绍如何使用Java提供的方法对线程进行挂起、停止和恢复操作,以及需要注意的安全性和替代方…

一位年薪50W的测试被开除,回怼的一番话,令人沉思

一位年薪35W测试工程师被开除回怼道:“反正我有技术,在哪不一样” 一技傍身,万事不愁,当我们掌握了一技之长后,在职场上说话就硬气了许多,不用担心被炒,反过来还可以炒了老板,这一点…

【Linux操作系统】深入理解Linux系统编程中的传入参数、传出参数和传入传出参数

在Linux系统编程中,函数的参数扮演着至关重要的角色。参数的传递方式可以分为传入参数、传出参数和传入传出参数。本文将详细解释这三种参数的概念、特点以及如何使用它们来实现灵活和高效的函数调用和数据传递。 文章目录 1. 解释和举例1.1 传入参数(i…

Python 3 使用Hadoop 3之MapReduce总结

MapReduce 运行原理 MapReduce简介 MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题。 MapReduce分成两个部分:Map(映射)和Reduce(归纳)。…

电脑合上盖子无线网络不会断开

控制面板\硬件和声音\电源选项\系统设置 最终选择不会采取任何操作 选择不会采取任何操作

限流在不同场景的最佳实践

目录导读 限流在不同场景的最佳实践1. 前言2. 为什么要限流3. 有哪些限流场景3.1 限流场景分类3.2 限流与熔断降级之间的关系3.3 非业务限流3.4 业务限流 4. 有哪些限流算法4.1 计数器限流算法4.2 漏桶限流算法4.3 令牌桶限流算法4.4 滑动时间窗限流算法4.5 限流算法选型 5. 限…

嵌入式 C 语言程序数据基本存储结构

一、5大内存分区 内存分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1、栈区(stack):FIFO就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 ​…

Stable Diffusion AI绘图教学

课程介绍下载 这门课程将教授学生使用Stable Diffusion AI绘图工具进行数据可视化和图形设计。学生将学习基本的绘图原理、数据分析技巧,以及如何使用Stable Diffusion AI创建高质量的图表和可视化作品。通过实践项目和案例研究,学生将提升绘图技能&…

FlexRay汽车总线静电防护,如何设计保护方案图?

FlexRay是一种高速、实时、可靠、具备故障容错能力的总线技术,是继CAN和LIN总线之后的最新研发成果。FlexRay为线控应用(即线控驱动、线控转向、线控制动等)提供了容错和时间确定性性能要求。虽然FlexRay将解决当前高端和未来主流车载网络的挑…

.gitignore匹配规则

目录 1.直接一个名称2.斜杠 /3.符号 *4.问号 ?5.感叹号 !6.gitkeep 借鉴抖音账号: 渡一前端提薪课 1.直接一个名称 会忽略目录下的所有该名称文件和文件夹,无论嵌套多深。 2.斜杠 / 1.斜杠在开头(/dist):忽略和.gitig…

【Kubernetes】Kubernetes的调度

K8S调度 一、Kubernetes 调度1. Pod 调度介绍2. Pod 启动创建过程3. Kubernetes 的调度过程3.1 调度需要考虑的问题3.2 具体调度过程 二、影响kubernetes调度的因素1. nodeName2. nodeSelector3. 亲和性3.1 三种亲和性的区别3.2 键值运算关系3.3 节点亲和性3.4 Pod 亲和性3.5 P…

Python 图形界面框架TkInter(第八篇:理解pack布局)

前言 tkinter图形用户界面框架提供了3种布局方式,分别是 1、pack 2、grid 3、place 介绍下pack布局方式,这是我们最常用的布局方式,理解了pack布局,绝大多数需求都能满足。 第一次使用pack() import …

Web3.0:重新定义互联网的未来

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Web3.0:重新定义互联网的未来 Web3.0是指下一代互联网,也称为“分布式互联网”。相比于Web1.0和Web2.0,Web3.0具有更强的去中心化、…