【SQL 初阶教程】一文轻松玩转 SQL

news2025/2/27 4:54:21

目录

一、SQL 通用语法

二、SQL 语句的分类

三、DDL语句

DDL——数据库操作

查询所有数据库 语句: SHOW DATABASES;(大小写均可,建议大写)

创建数据库HSK 语句:CREATE DATABASE HSK;

删除数据库HSK 语句 :DROP DATABASE HSK;

使用数据库 HSKK 语句:USE HSKK;

DDL——表操作

表查询语句

表创建语句

表操作数据类型

综合案例:

表操作修改

一、SQL 通用语法

二、SQL 语句的分类

分为四类语句,下面 弄详细来看

DDL:定义表头字段等信息,用以操作表

DML :对数据进行操作的语句,对表中的数据增删查改

DQL:用以查询数据库中的表的数据

DCL:用来创建用户以及用户的权限

三、DDL语句

DDL——数据库操作

查询所有数据库 语句: SHOW DATABASES;(大小写均可,建议大写)

可见:MySQL 默认自带四个数据库

创建数据库HSK 语句:CREATE DATABASE HSK;

出现Query OK 即为创建成功,但是当再次创建已存在的数据库时会报错

可以输入命令:

CREATE DATABASE IF NOT EXISTS HSK;    //已存在就不创建,不会报错

如果想指定字符集可以输入以下命令:

CREATE DATABASE IF NOT EXISTS HSKK DEFAULT CHARSET utf8mb4; 

为什么使用 utf8mb4 字符集呢?

因为 utf8 是三个字节,但是有些特殊字符是 4 个字节,而 utf8mb4 支持 4 个字节

 至此,我们已经创建了两个数据库,将所有数据库显示出来

删除数据库HSK 语句 :DROP DATABASE HSK;

如图,如果删除不存在的数据库,同样会报错,可以使用一下命令解决:

DROP DATABASE IF EXISTS HSK;

使用数据库 HSKK 语句:USE HSKK;

注意:不要加 database;

显示 Database changed,即为使用该数据库成功

如果想要查询现在正在使用哪个数据库,可以使用命令行:

SELECT DATABASE();     //记得加括号

DDL——表操作

表查询语句

前提是:进入到了某个数据库,即使用语句 use 数据库名;

演示—显示默认自带系统库sys中所有的表

输入语句:SHOW TABLES;      //前提是进入到该数据库

等到学习完创建表的知识后再来演示下面两个语句,即查询表结构、查询建表语句

表创建语句

注意:[ ] 内的参数是可选参数,最后一个字段后面没有逗号

返回Query,即为创建成功

可以用查询语句中的 DESC 表名查询

 

也可以使用 SHOW CREATE TABLE 表名查询更详细的信息

ENGINE:存储引擎,后续介绍

DEFAULT CHARSET:默认字符集

COLLATE:默认排序方式

表操作数据类型

MySQL 中的数据类型有很多,主要有三类:数值类型、字符串类型、日期时间类型

数值类型:

 备注:

tinyint:非常小的数

smallint:有点小的

mediumint:占用三个字节

DECIMAL:123.45 — 精度为5,标度为2

示例:

年龄:age TINYINT UNSIGNED      //无符号短整型

分数:score float(4,1)   //总长为4,小数点后有 1 位

字符串类型:

BLOB:有关的都是二进制形式的数据,一般为安装包、音视频等,但是如果将此类数据存储在数

数据库中,效率不高且不方便管理,一般将此类数据存储在专门的文本服务器中。所以该类数据的

使用并不是很多。

TEXT:文本文件

示例:char 与 varchar 的区别

char:性能较高,无论是多长都会占用一定的空间,适合 gender (只占用一个字节,定长)

varchar:性能较低,长度不定,适用于用户名,节省空间

日期时间类型:

一般来说:DATA、TIME、DATATIME 使用较多一些

注意:时间戳到 2038 年就过期了,需要注意;

案例:记录生日

birth DATA    //只需要年月日即可

综合案例:

代码如下:

create table emp(
	id int comment '编号',
	workernum varchar(10) comment '工号',
	name varchar(10) comment '姓名',
	gender char(1) comment '性别',
	age tinyint unsigned comment '年龄',
	idcard char(18) comment '身份证号',
	entrytime date comment '入职时间'
) comment '员工信息表';

执行并查询后结果:

如果我们想要修改 name 的长度,或者添加新的信息,那么就需要学习表头、字段的修改,加油!

表操作修改

添加字段:

 alter table emp add nickname varchar(20) comment '昵称';//添加一个新字段

如图所示:已经添加成功!!!!!!!!!!

修改字段:

一共有两种,修改数据类型和修改字段名和字段类型

案例:

alter table emp change nickname userkk varchar(30) comment '新昵称';

如题:已成功操作

删除字段:

示例:删除 userkk 

alter table emp drop userkk;     //删除字段

 如图已成功删除某字段;

修改表名:

代码:alter table emp rename to kkk;     //修改新表名

此时如果查询原表名会报错,因为已经不存在了;

删除表:

常用第一种:直接删除该表,啥也没了

第二种是删除该表,再新建一个该表,但是数据没有了,字段还有吗? 

原字段依旧存在,只是数据信息没了!!!!!!

截止到:2023年4月14日23:43:22

------------------------------------------------------------分界线------------------------------------------------------------

 

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

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

相关文章

关于本地git通过ssh链接github时 time out问题的解决方法

目录问题描述解决方法问题描述 我们如果想要用git ssh链接到远端github,进行repo的clone等操作时,会进行如下的操作: 首先在ssh端命令生成rsa秘钥,命令如下: ssh-keygen -t rsa -C “你的git绑定的邮箱名字”然后在g…

【HBase-读写流程】HBase的读写流程与内部执行机制

【HBase-读写流程】HBase的读写流程与内部执行机制1)HBase 读取数据流程1.1.文字描述1.2.流程图2)HBase 写入数据流程2.1.文字描述2.2.流程图3)flush 机制与 compact 机制的原理3.1.文字描述3.2.流程图1)HBase 读取数据流程 1.1.…

游戏开发之Unity2021URP项目场景的构建

地面的修改和编辑:地面插件的使用 打开包管理器,在左边的包那里选择“Unity注册表”,在右边进行搜索“Polybrush”,之后选择右下角的安装 安装完之后要选择样本中的URP进行导入,因为我们的项目是URP渲染管线的&#x…

IronOCR for .NET crack,IronOCR的独特功能

IronOCR for .NET crack,IronOCR的独特功能  在IronTesseract上添加了新的“ReadPdfAndOverlayText”方法,该方法允许您添加文本并保留原始PDF书签/注释。 添加了对存储在应用程序子文件夹中的.config和.json文件中的许可证密钥的支持。 将IronSoftware.System.Dra…

shell 函数和数组作业

1、编写函数,实现打印绿色OK和红色FAILED,判断是否有参数,存在为Ok,不存在为FAILED 2、编写函数,实现判断是否无位置参数,如无参数,提示错误 3、编写函数实现两个数字做为参数,返回最大值 4、…

Minecraft 1.12.2模组开发(五十六) 网络(Networking)

我们本次在模组中实现客户端向服务器发送数据的功能。 演示效果演示效果演示效果 1.新建packet包,包中新建PacketHandler类: PacketHandler.java package com.joy187.mcjoygun.packet;import com.joy187.mcjoygun.Main; import com.joy187.mcjoygun.u…

Huggingface微调BART的代码示例:WMT16数据集训练新的标记进行翻译

BART模型是用来预训练seq-to-seq模型的降噪自动编码器(autoencoder)。它是一个序列到序列的模型,具有对损坏文本的双向编码器和一个从左到右的自回归解码器,所以它可以完美的执行翻译任务。 如果你想在翻译任务上测试一个新的体系…

Java Stream API 操作完全攻略:让你的代码更加出色 (四)

前言 Java Stream 是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用 Stream 操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。本文将为您介绍 Java Stream 操作的所有方面,包括 ran…

交友项目【通用设置】三个功能实现

目录 1:交友项目【通用设置】 1.1:查询通用设置 1.1.1:接口地址 1.1.2:流程分析 1.1.3:代码实现 1.2:设置陌生人问题 1.2.1:接口地址 1.2.2:流程分析 1.2.3:代码…

Python 小型项目大全 51~55

五十一、九十九瓶的变体 原文:http://inventwithpython.com/bigbookpython/project51.html 在歌曲“九十九瓶”的这个版本中,该程序通过删除一个字母、交换一个字母的大小写、调换两个字母或重叠一个字母,在每个小节中引入了一些小的不完美。…

4月,我从外包公司离职了

先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

python学习

1.安装 Download Python | Python.org 安装时,点击添加路径。 1.1 python的解释器 我们把代码写进.py结尾的文件里,然后 python 路径文件名就可以运行它了。 2.字面量 例如print("我们"),"我们",就是字符串字面量,…

简化你的代码,提高生产力:这10个Lambda表达式必须掌握

前言 Lambda表达式是一种在现代编程语言中越来越常见的特性,可以简化代码、提高生产力。这篇文章将介绍10个必须掌握的Lambda表达式,这些表达式涵盖了在实际编程中经常用到的常见场景,例如列表操作、函数组合、条件筛选等。通过学习这些Lambd…

JUC源码系列-CountDownLatch源码研读

前言 CountDownLatch是一个很有用的工具,latch是门闩的意思,该工具是为了解决某些操作只能在一组操作全部执行完成后才能执行的情景。例如,小组早上开会,只有等所有人到齐了才能开;再如,游乐园里的过山车&…

运行时内存数据区之堆(二)

Minor GC、Major GC、与Full GC JVM在进行GC时,并非每次都对上面三个内存(新生代、老年代:方法区)区域一起回收的,大部分时候回收的都是指新生代。 针对HotSpot VM的实现,它里面的GC按照回收区域又分为两…

浅谈 如果做微服务了 这个模块怎么去划分?

如果做微服务了 这个模块怎么去划分? 还是高内聚 低耦合的一个思想吧 ,单一职责的设计原则,也是一个封装的思想吧, 业务维度: ​ 按照业务的关联程度来决定,关联比较密切的业务适合拆分为一个微服务&…

C++语法(14)---- 模板进阶

C语法(13)---- 模拟实现priority_queue_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130069707?spm1001.2014.3001.5501 目录 1.非类型模板参数 2.模板的特化 1.函数模板(仿函数) 2.类模板 1.全特化 2.半特化、偏…

INFINONE XC164单片机逆向记录(6)C语言学习

本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题); 写在专栏前面https://blog.csdn.net/Junping1982/article/details/129955766 INFINONE XC164单片机逆向记录(1)资料准备

FusionCharts Suite XT v3.20.0 Crack

FusionCharts Suite XT v3.20.0 改进了仪表的径向条形图和调整大小功能。2023 年 4 月 11 日 - 9:37新版本特征 添加了一个新方法“_changeXAxisCoordinates”,它允许用户将 x 轴更改为在图例或数据交互时自动居中对齐。更新了 Angular 集成以支持 Angular 版本 14 …

【无功优化】基于多目标差分进化算法的含DG配电网无功优化模型【IEEE33节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…