一星期学sql day1

news2024/12/24 22:10:11

文章目录

  • 了解部分(详细部分google一下)
    • mysql的下载和安装
    • mysql的启动
    • MySQL的客户端的链接
    • MySQL数据模型
    • sql的通用语法
    • sql 分类
      • DDL:数据定义语言
        • 表操作
        • 数值类型
        • 字符串类型
        • 日期时间类型
      • DML(数据操作语言)添加数据

了解部分(详细部分google一下)

mysql的下载和安装

要下载和安装MySQL,您可以按照以下步骤:

  • 访问MySQL官网:https://dev.mysql.com/downloads/mysql/
  • 在页面上找到“MySQL Community Server”部分,选择您需要的版本。
  • 选择适合您操作系统的版本。MySQL支持多种操作系统,包括Windows、Mac OS X和Linux等。
  • 下载所选的MySQL安装文件。
  • 安装MySQL。在Windows操作系统中,双击下载的安装程序并- 按照提示进行安装。在Linux和Mac OS X中,您可以使用命令行或图形用户界面来安装。
    在安装过程中,您可能需要设置root账号的密码以及其他一些选项。安装完成后,您就可以开始使用MySQL了。

mysql的启动

Windows操作系统中,启动MySQL可以按照以下步骤:

  • 打开命令提示符或PowerShell,以管理员身份运行。
  • 进入MySQL安装目录下的bin子目录,例如:cd C:\Program Files\MySQL\MySQL Server 8.0\bin
  • 输入命令 mysqld 启动MySQL服务。
  • 如果您安装了MySQL服务,也可以通过服务管理器启动MySQL服务,步骤如下
  • 按下Win+R键,打开运行对话框。
  • 输入services.msc并按回车键,打开服务管理器。
  • 找到MySQL服务,右键单击该服务,选择"启动"或"重启"选项即可启动MySQL服务。

在Linux和Mac OS X中,启动MySQL可以按照以下步骤:

  • 打开终端窗口。
  • 输入命令 sudo systemctl start mysqld (CentOS)或 sudo - service mysql start (Ubuntu)启动MySQL服务。
  • 如果MySQL服务已经在运行,则可以通过命令 sudo systemctl status mysqld(CentOS)或 sudo service mysql status(Ubuntu)检查MySQL服务状态。

MySQL的客户端的链接

MySQL的客户端链接可以通过以下几种方式实现:

  • 命令行客户端:MySQL提供了命令行客户端来连接MySQL服务器,可以在终端或者命令提示符中输入相应的命令来连接到MySQL服务器。例如,在Windows系统上,可以使用命令 mysql -h hostname -u username -p 来连接到远程MySQL服务器。
  • GUI工具:MySQL也提供了多种GUI工具,如MySQL Workbench和Navicat等,这些工具可以方便地管理数据库和执行SQL语句,并且可以通过图形界面来连接到MySQL服务器。
  • 编程语言API:MySQL支持多种编程语言的API,如Java、Python、PHP等,可以使用这些API来连接MySQL服务器并进行数据操作。
  • Web应用程序:Web应用程序通常使用MySQL作为后端数据库,可以使用各种Web框架(如Django、Flask等)提供的MySQL连接库来连接MySQL服务器。

需要注意的是,无论使用何种方式连接MySQL服务器,都需要提供正确的服务器地址、用户名和密码才能成功连接。同时,为了保障安全性,建议使用SSL/TLS加密协议来保护数据传输过程中的安全。

MySQL数据模型

MySQL是一种关系型数据库管理系统(RDBMS),数据模型是基于表格的,每个表格代表了一个实体或者一个关系。在MySQL中,数据通过表格(column)和行(row)来组织存储,在表格中定义的列用于描述数据的属性,每一行则包含了该属性的具体值。

MySQL支持的数据类型有数值型、字符型、日期/时间型等多种类型,可以根据需要选择合适的数据类型来存储不同类型的数据。同时,MySQL也支持多种约束,如主键(Primary Key)、唯一键(Unique Key)、外键(Foreign Key)等,用于保证数据的完整性与一致性。

在设计MySQL数据模型时,需要考虑以下几个方面:

  • 实体及其关系:根据实际业务需求,确定需要存储哪些实体以及它们之间的关系。
  • 属性及其数据类型:确定每个实体需要存储哪些属性,以及这些属性的数据类型。
  • 主键及其约束:为每个实体确定一个唯一标识符,通常使用主键来实现,同时需要添加相应的约束来保证主键的唯一性。
  • 外键及其约束:对于存在关联关系的实体,需要使用外键来建立关联,同时也需要添加相应的约束来保证数据的一致性。
  • 索引:在需要频繁查询的列上添加索引,可以提高查询效率。

需要注意的是,良好的数据模型应该能够支持业务需求的变化,并且能够保证数据的完整性与一致性。因此,在设计数据模型时,需要仔细考虑各种可能的情况,并进行合理的抽象与建模。

sql的通用语法

  1. SQL 语句不区分大小写,但是推荐使用大写字母,这样可以提高代码的可读性。

  2. SQL 语句以分号(;)结尾,表示语句的结束。

  3. SQL 语句可以跨多行书写,但在某些情况下,可能需要将语句写在单行中,例如在执行存储过程时。

  4. SQL 语句中的注释以两个减号(–)开始,在减号后面添加注释内容。

  5. SQL 语句中的空格和缩进不会影响查询的结果,但是可以提高代码的可读性。

  6. SQL 语句中的字符串应该用单引号(')或双引号(")括起来,其中包含的任何引号都应该被转义。

  7. SQL 语句中的关键字、表名和列名不应该用引号括起来,但是如果它们包含非字母数字字符,则必须用方括号 [] 或反引号 ` 括起来。

  8. SQL 语句中的值应该与列的数据类型匹配。如果值是文本类型,则应该用单引号或双引号括起来;如果值是数字类型,则不需要括号;如果值是日期类型,则应该用单引号或者转义字符括起来。

  9. SQL 语句中的条件应该遵循一定的逻辑规则,例如 AND、OR、NOT 等关键字,以及括号用于优先级控制等。

  10. SQL 语句中的聚合函数应该在 SELECT 语句中使用,并且它们应该位于列名前面。

sql 分类

  • DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)
  • DML: 数据操作语言,用来对数据库表中的数据进行增删改
  • DQL: 数据查询语言,用来查询数据库中表的记录
  • DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限

DDL:数据定义语言

查询所有数据库:
SHOW DATABASES;
查询当前数据库:
SELECT DATABASE();
创建数据库:
CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];
删除数据库:
DROP DATABASE [ IF EXISTS ] 数据库名;
使用数据库:
USE 数据库名;

注意事项

  • UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集

表操作

查询当前数据库所有表:
SHOW TABLES;
查询表结构:
DESC 表名;
查询指定表的建表语句:
SHOW CREATE TABLE 表名;

创建表:

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

最后一个字段后面没有逗号

添加字段:
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
例:ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';

修改数据类型:
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
例:将emp表的nickname字段修改为username,类型为varchar(30)
ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';

删除字段:
ALTER TABLE 表名 DROP 字段名;

修改表名:
ALTER TABLE 表名 RENAME TO 新表名

删除表:
DROP TABLE [IF EXISTS] 表名;
删除表,并重新创建该表:
TRUNCATE TABLE 表名;

数值类型

在这里插入图片描述

字符串类型

在这里插入图片描述

日期时间类型

在这里插入图片描述

DML(数据操作语言)添加数据

指定字段:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
全部字段:
INSERT INTO 表名 VALUES (值1, 值2, ...);

批量添加数据:

INSERT INTO 表名 (字段名1, 字段名2, ...) 
VALUES (1,2, ...),
 (1,2, ...), 
(1,2, ...);
INSERT INTO 表名 
VALUES (1,2, ...), 
(1,2, ...), 
(1,2, ...);

注意事项

  • 字符串和日期类型数据应该包含在引号中
  • 插入的数据大小应该在字段的规定范围内

修改数据:
UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2, ... [ WHERE 条件 ];
例:
UPDATE emp SET name = 'Jack' WHERE id = 1;

删除数据:
DELETE FROM 表名 [ WHERE 条件 ];

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

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

相关文章

微信小程序 Vue+uniapp电脑手机笔记本预约维修系统 java python

系统具有专门的供用户使用的前台和专门供管理人员使用的后台。 前台用户使用小程序,后台信息处理使用基 MySql进行管理﹔通过后台添加手机信息、管理用户信息、管理预约信息﹔前台用户通过小程序登录,查看维修信息、发起预约。 管理员后端;首…

mysql入门(二)——函数与约束

mysql入门——函数与约束 mysql中的函数字符串函数字符串函数的基本应用 数值函数日期函数流程函数 约束概述约束的演示外键约束建立外键关联:删除外键外键的删除/更新行为为什么要采取外键约束 mysql中的函数 之前我们介绍过聚合函数,在MySQL中&#x…

chatgpt赋能Python-python3_7字体大小调整

Python3.7字体大小调整指南 您是否在使用Python3.7时遇到字体大小问题?本文将为您提供一份全面的Python3.7字体大小调整指南,帮助您轻松解决这一问题。 什么是字体大小问题 字体大小问题指的是当我们在使用Python3.7编辑器时,发现字体太小…

chatgpt赋能Python-python3_8字体大小

Python3.8 字体大小对程序员的重要性 在编写 Python 代码时,设置字体大小可能是最基本的操作之一,特别是对于长期进行编码工作的程序员来说。Python 3.8 为程序员提供了更好的字体调节能力,可以将字体大小设置为适合自己的大小,使…

chatgpt赋能Python-python3_9_4怎么用

介绍 Python是目前最为流行的编程语言之一,用途非常广泛,可以应用于各个领域。Python 3.9.4是Python最新版本,其中包含了很多新功能和改进,让Python编程更加简单和高效。 此文将解释Python 3.9.4的一些主要的功能,以…

JAVA-SE-异常

在JAVA中,将程序执行过程中发生的不正常行为称为异常。简单来说就是我们在运行或编译一段代码时所报的错误。 一,异常的体系结构 在JAVA中不同类型的异常,都有与其对应的类来进行描述。 …

实验三、数据高级查询实验

实验名称:实验3 数据高级查询实验 实验目的和要求: 实验目的和要求 掌握SQL嵌套查询和集合查询等各种高级查询的设计方法等。 实验软硬件要求: 计算机、MySQL,Navicat 实验内容、实验过程、所遇问题及其解决方法 实验内容:针…

Discourse 的用户信息中的 IP 地址显示的是 CloudFlare 的 IP 地址

因为使用了 CloudFlare 的反向地址。 所有 Discourse 获得的用户的 IP 地址其实是 CloudFlare 的服务器地址。 修改 好在 Discourse 已经提供了相关的解决方案。 需要在 Discourse 的配置文件中,添加下面的内容: “templates/cloudflare.template.ym…

分布式系统概念和设计——协调和协定

分布式系统概念和设计 协调和协定 分布式系统中的进程如何协调它们的动作和对共享值达成协议? 算法在分布式系统中的基本目的是:供一组进程来协调它们的动作或对一个或多个值达成协议 避免固定的主-从关系的主要原因是,经常需要系统即使在系统故障的情…

日志文件的轮循(logrotate)

文章目录 日志文件的轮循(logrotate)轮循基本原理轮循的基本配置实际测试logrotate的操作使用案例 自定义日志文件的轮循功能 日志文件的轮循(logrotate) 日志轮循(logrotate)是一种用于管理日志文件的工具,它可以帮助我们自动地对日志文件进…

EasyRecovery Photo16 for windows数据恢复软件免费版下载安装教程

EasyRecovery Photo16 for windows数据恢复软件免费版下载是一款由Kroll Ontrack公司开发的数据恢复软件,其主要功能是恢复已经删除或损坏的图片文件。该软件可用于恢复各种类型的图片文件,包括JPEG、GIF、BMP、PNG等,同时也支持恢复照片文件…

Thematica: 炫彩主题与黑暗奇观的Vue3之旅

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 一、介绍1.1 博客主题和目的1.2 Vue 3简介二、炫彩主题2.1 准备工作2.2 安装必要依赖2.3 创建Vue项目2.4 设置全局样式

AJax和Axios的讲解

目录 Ajax Ajax基本介绍 同步异步 原生Ajax 原生的Ajax使用方式 Axios 基本介绍 Axios的基本使用 发送 get 请求 发送 post 请求 Axios快速入门 请求方法的别名 练习 Ajax Ajax基本介绍 Ajax: 全称Asynchronous JavaScript And XML,异步的JavaScript和XML…

【每日一题/数学模拟题/进位算术】1073. 负二进制数相加

⭐️前面的话⭐️ 本篇文章介绍【1073. 负二进制数相加】题解,算法标签:【数学】,【思维】,【模拟算术】,展示语言c/java。 📒博客主页:未见花闻的博客主页 🎉欢迎关注&#x1f50e…

代码随想录训练营Day38| 理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

目录 学习目标 学习内容 理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯 学习目标 理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯 学习内容 理论基础 problems/动态规划理论基础.md programmercarl/leetcode-master(代码随…

C++的list使用

list 1.list的介绍和使用1.1. list介绍1.2. list的使用1.2.1 list的构造1.2.2. list iterator的使用1.2.3. list capacity1.2.4 list element access1.2.5 list modifiers1.2.6 list的迭代器失效 1.list的介绍和使用 1.1. list介绍 list是可以在常数范围内在任意位置进行插入…

chatgpt赋能Python-python2的n次方

Python2中实现n次方的方法 Python是一种非常受欢迎的编程语言,其简单易学的特性吸引了大量的开发者前来学习和使用。在Python2中,实现n次方有多种方法,下面就给大家介绍一些。 方法一:使用运算符 在Python2中,可以使…

不重启Linux修改主机名,以CentOS 7举例

在 Linux 中,可以通过修改主机名配置文件的方式更改主机名,不需要重启机器即可立即生效。 下面介绍一下具体步骤: 1、查看原始主机名 比如我的主机名叫small-black 2、使用命令行修改主机名 2.1 修改主机名 首先,使用以下命…

2023年的深度学习入门指南(14) - 不能只关注模型代码

2023年的深度学习入门指南(14) - 不能只关注模型代码 最近,有一张大模型的发展树非常流行: 这个图是相当不错的,对于加深对于Transformer模型编码器、解码器作用的理解,模型的开源和闭源情况等等都相当有帮助,大家使…

尝试Google Bard并对比OpenAI ChatGPT,一个擅长创造性,一个擅长事实查询?

文章目录 尝试Google Bard并对比OpenAI ChatGPT,一个擅长创造性,一个擅长事实查询?Google Bard 的自我介绍Google Bard 暂时不支持中文Google Bard除了支持英语外,还支持日语Google Bard和OpenAI ChatGPT的对比Google Bard的回答O…