Mysql学习笔记之SQL-1

上篇文章我们介绍了Mysql的安装,这篇文章我们介绍Mysql的操作语言SQL

1. 简介

sql全称(Structured Query Language)是结构化查询语言,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

2. sql分类

sql语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL,具体说明如下表所示

简写全称说明
DDLData Definition Language数据定义语言,定义数据库、数据表、数据字段
DMLData Manipulation Language数据操作语言,对数据库表中的数据进行增删改
DQLData Query Language数据查询语言,查询数据库中表的记录
DCLData Control Language数据控制语言,创建数据库用户、控制数据库的访问权限

这篇文章先介绍数据库定义语言(DDL)

3. 数据库定义语言(DDL)

首先我们要知道数据是以数据表的形式存储在数据库中。而数据表需要挂存储在数据库中,如下图所示
在这里插入图片描述

在这里插入图片描述
上图1中可以清晰的看到mysql数据服下存在test数据库,test数据库下存在student数据表,学生数据就存放在数据表student中。
图2中student数据表共有四个字段,id、name、sex、age,分别存储学号、名字、性别、年龄。
那么创建数据库、数据表、数据字段就需要用到数据库定义语言(DDL)。

4. 数据库操作

4.1创建数据库

语法:

create database [ if not exists ] 数据库名 [character set 字符集 ] [ collate 排序
规则 ] ;

说明:
1.[]中的内容是非必须的,可以省略
2.if not exists 表示当要创建的数据库不存在时,才进行创建,否则跳过
3.character set 用来设置数据库的字符集。
字符集规定了字符在数据库中的存储格式,比如占多少空间,支持哪些字符等等,例如如果字符集设置的不恰当就会造成中文字符乱码等问题,mysql中支持的字符集有很多,可以通过sql查询

SHOW CHARSET;

4.collate 用来指定排序规则

案例:
创建一个数据库,名为schooldb,设置字符集为utf8mb4,且如果数据库已经存在则跳过

1.打开Navicat,点击新建查询
在这里插入图片描述
在编辑器中输入sql语句,点击运行

CREATE DATABASE IF NOT EXISTS `schooldb` CHARACTER SET 'utf8mb4';

在这里插入图片描述

这样数据库就创建成功了

4.2 删除数据库

语法:

drop database [ if exists ] 数据库名 ;

案例:
删除上面创建的schooldb

drop database if exists schooldb;

5.数据表操作

5.1 创建数据表

语法:

CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ],
字段2 字段2类型 [COMMENT 字段2注释 ],
字段3 字段3类型 [COMMENT 字段3注释 ],
......
字段n 字段n类型 [COMMENT 字段n注释 ]
) [ COMMENT 表注释 ] ;

说明:
[] 内为可选参数,最后一个字段后面没有逗号
案例
创建students表,包含学号,学生姓名,性别,年龄字段

CREATE TABLE `students`  (`id` int COMMENT '学号',`name` varchar(255) COMMENT '姓名',`sex` varchar(2) COMMENT '性别',`age` int COMMENT '年龄'
)COMMENT '学生表';

在Navicat中执行sql语句,即可创建成功数据表students。
在这里插入图片描述
在这里插入图片描述

5.2 修改数据表

在实际应用中经常会遇到给已经创建好的数据表中,修改、新增、删除字段,又或者修改某个字段的类型、长度等。

1.添加字段

ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

案例:
给students表中添加班级字段

ALTER TABLE `students` ADD COLUMN `class` varchar(100) COMMENT '班级';

2.修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

3.修改字段名称和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

案例:
将stutents表中的班级字段修改为学分字段,类型为int

ALTER TABLE `students` CHANGE COLUMN `class` `credit` int COMMENT '学分' ;

4.删除字段

ALTER TABLE 表名 DROP 字段名;

案例:
删除学分字段

ALTER TABLE `students` DROP `credit`;

5.修改表名

ALTER TABLE 表名 RENAME TO 新表名;

5.3 删除数据表

语法:

DROP TABLE [ IF EXISTS ] 表名;

案例:
删除students表格

DROP TABLE IF EXISTS students;

6 扩展

在熟悉sql语句操作数据库或数据表后,在实际应用中可以使用Navicat中使用可是化界面完成数据库的操作。
1.新建数据库
在这里插入图片描述
在这里插入图片描述

2.删除数据库
在这里插入图片描述
3.新建数据表
在这里插入图片描述
在这里插入图片描述
4.修改数据表
在这里插入图片描述
在这里插入图片描述
5.删除数据表
在这里插入图片描述

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

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

相关文章

埃隆马斯克X-AI发布Grok-2大模型,快来体验~

引言 近年来,人工智能技术的快速发展推动了大语言模型的广泛应用。无论是日常生活中的智能助手,还是行业中的自动化解决方案,大语言模型都扮演着越来越重要的角色。2024年,X-AI推出了新一代的大模型——Grok-2,这款模…

PostgreSQL的学习心得和知识总结(一百六十三)|深入理解PostgreSQL数据库之 GUC参数compute_query_id 的使用和实现

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

多线程编程杂谈(上)

问题 线程执行的过程中可以强制退出吗? 主动退出?被动退出? 问题抽象示例 需要解决的问题 g_run 全局变量需要保护吗? 如何编码使得线程中每行代码的执行可被 g_run 控制? 线程代码在被 g_run 控制并 "强制退…

【Git】:企业级开发和多人协作开发啊

目录 多人协作 模拟配置多人协作环境 多人同一分支开发 多人不同分支开发 远程分支删除后的问题 企业级开发模型 系统开发环境 分支设计规范 多人协作 模拟配置多人协作环境 目前,我们所完成的工作如下: 基本完成 Git 的所有本地库的相关操作&#xff…

【Sql优化】数据库优化方法、Explain使用

文章目录 一、金字塔优化模型二、SQL优化的利器:Explain工具1. Explain 的作用2. Explain 的用法 三、SQL优化方法(后续文章细讲)1. 创建索引减少扫描量2. 调整索引减少计算量3. 索引覆盖4. 干预执行计划5. SQL改写 四、通过 Explain 优化案例…

Deepmotion技术浅析(五):运动追踪

运动追踪是 DeepMotion 动作捕捉和 3D 重建流程中的核心模块之一。该模块的主要任务是在视频序列中跟踪人体的运动轨迹,捕捉人体各部分随时间的变化,并生成连续的 3D 运动数据。DeepMotion 的运动追踪技术结合了计算机视觉、深度学习和物理模拟等方法&am…

Android 系统应用重名install安装失败分析解决

Android 系统应用重名install安装失败分析解决 文章目录 Android 系统应用重名install安装失败分析解决一、前言1、Android Persistent apps 简单介绍 二、系统 persistent 应用直接安装需求分析解决1、系统应用安装报错返回的信息2、分析解决 三、其他1、persistent系统应用in…

使用Nexus3搭建npm私有仓库

一、npm介绍 npm的全称是Node Package Manager,它是一个开放源代码的命令行工具,用于安装、更新和管理Node.js模块。npm是Node.js的官方模块管理器,它允许用户从一个集中的仓库中下载和安装公共的Node.js模块,并将这些模块集成到…

【ChatGPT】解锁AI思维链:如何让机器像人类一样思考?

在人工智能领域,我们一直在追求让机器像人类一样思考。然而,即使是最先进的AI,也常常被诟病缺乏“常识”,难以理解复杂问题,更不用说像人类一样进行逻辑推理和解决问题了。最经常的表现就是遇到不会的地方,…

蓝桥杯刷题——day5

蓝桥杯刷题——day5 题目一题干解题思路一代码解题思路二代码 题目二题干解题思路代码 题目一 题干 给定n个整数 a1,a2,⋯ ,an,求它们两两相乘再相加的和,即: 示例一: 输入: 4 1 3 6 9 输出: 117 题目链…

监测预警智能分析中心建设项目方案

随着科技的不断进步,地理信息与遥感技术在国家治理、环境保护、灾害预警等领域发挥着越来越重要的作用。监测预警智能分析中心的建设,旨在通过集成先进的遥感技术、地理信息系统(GIS)、大数据分析和人工智能(AI&#x…

【漫话机器学习系列】009.词袋模型(Bag of Words)

词袋模型(Bag of Words, 简称 BoW) 词袋模型是一种常见的文本表示方法,主要用于自然语言处理(NLP)和信息检索领域。它将文本数据转换为特征向量,忽略语序,仅考虑词的出现与否或出现频率。 1. 基…

分治算法(单选题)

2-1 分数 2 下列多少种排序算法用了分治法? 堆排序插入排序归并排序快速排序选择排序希尔排序 A.2 B.3 C.4 D.5 正确答案 A 2-2 分数 2 分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决问题,最后将子…

UNIX简史

从1991年Linux出现至今,由于众多IT巨头以及技术社区的推动,Linux已经成为非常成熟、可用于各种关键领域的操作系统,适当了解其发展历史,对于理顺其技术流派、从而更好地学习和使用Linux具有重要意义。由于其基于UNIX系统二十多年的…

C# OpenCV机器视觉:畸变矫正

在一个阳光明媚的早晨,阿强决定去拍照。他拿起相机,穿上他最喜欢的羊毛大衣,准备记录下生活中的美好瞬间。可是,当他兴奋地查看照片时,发现自己拍的每一张都像是被外星人用变形金刚的力量扭曲过一样!“这是…

tryhackme——Defensive Security Intro(防御安全简介)

任务一:Introduction to Defensive Security防御安全简介 此room的两个要点: Preventing intrusions from occurring 防止入侵发生Detecting intrusions when they occur and responding properly 检测发生的入侵并正确响应 防御安全还有更多内容。 除上…

使用rust语言创建python模块(pyo3+maturin)

1. 首先使用conda创建python虚拟环境(已创建的可省略) >conda create --prefixE:\python_envs\rust_python python3.11 2. 激活python虚拟环境 conda activate rust_python 3. 安装maturin pip install maturin 4. 创建rust项目 >cd E:\py…

关于Postgresql旧版本安装

抛出问题 局点项目现场,要求对如下三类资产做安全加固,需要在公司侧搭建测试验证环境,故有此篇。 bclinux 8.2 tomcat-8.5.59 postgrel -11 随着PG迭代,老旧版本仅提供有限维护。如果想安装老版本可能就要费劲儿一些。现在&…

使用echarts实现3d柱状图+折线图

以下代码有问题请直接问国内直连GPT/Claude HTML 需要注意threeDchart一定要设置宽度高度&#xff0c;不然图不显示,然后echarts版本不要太低&#xff0c;不然也不显示 <div id"threeDchart" class"threeDchart"></div>js set3DBarChart2(dat…

2024.1212-02-虚拟私人网(VPN) 虚拟局域网 及隧道技术(四)--GRE47 Etherip97 原理及应用

虚拟局域网 及隧道技术&#xff08;四&#xff09;-GRE47 & Etherip97原理及应用 概述原理及应用EOIP/Etherip概念区别 隧道协议标准EtherIP &#xff08;IP protocol number 97&#xff09;GRE 开源工具katlogic-eoip 验证环境GRE&#xff08;EOIP&#xff09;演示验证Eth…