最新文章Mysql数据库基础(六)
事务概述事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤消操作请求,即这些操作要么同时完成,要么同时失败
Mysql的事务是默认自动提交的,即执行DML语句时就会立即隐式的提交事务
事务操作先创建 account表,并插入数据:
1234567CREATE TABLE account( id int auto_increment PRIMARY KEY COMMENT '主键ID', name VARCHAR(10) COMMENT '姓名', money int COMMENT '余额')COMMENT '账户表';INSERT INTO account VALUES(NULL,'张三',2000),(NULL,'李四',2000);
因为Mysql是立即自动提交DML语句的,所以我们可以将这个自动更改为手动:
12345-- 查看当前提交方式SELECT @@autocommit;-- 更改提交方式为手动SET ...
Mysql数据库基础(五)
多表关系在项目开发进行数据库结构设计时,根据业务需求和业务模块之间的关系进行分享并设计表的结构,而由于业务之间是相互关联的,所以各个表结构之间也存在着各种联系,主要分为 一对多(多对一)、多对多、一对一 这三种
一对多(多对一)例如部门与员工的关系:一个部门可以对应多个员工,而一个员工则对应一个部门,这种可以通过在多的一方建立外键,指向一的一方的主键
多对多例如学生与课程的关系:一个学生可以选修多门课程,而一个课程可以被多名学生选修,这种可以通过建立第三张中间表,该表至少包含两个外键,分别关联两方主键
创建学生表并插入数据:
123456789-- 学生表CREATE TABLE student ( id INT auto_increment PRIMARY KEY COMMENT '主键ID', name VARCHAR ( 10 ) COMMENT '姓名', no VARCHAR ( 10 ) COMMENT '学号' )COMMENT ' 学生表';insert into studentvalues ...
Mysql数据库基础(四)
约束概述概念:作用于表中字段的规则,用于限制存储在表中的数据
目的:保证数据库中数据的正确,有效性和完整性
约束有以下几种分类:
因为约束时作用于表中字段的,所以可以在创建表/修改表时进行添加
根据需求,完成该 user 表的创建:
上述SQL语句:
1234567CREATE TABLE USER ( id INT PRIMARY KEY auto_increment COMMENT 'ID唯一表示', NAME VARCHAR ( 10 ) NOT NULL UNIQUE COMMENT '姓名', age INT CHECK ( age > 0 && age <= 120 ) COMMENT '年龄', STATUS CHAR ( 1 ) DEFAULT '1' COMMENT '状态',gender CHAR ( 1 ) COMMENT '性别') COMMENT '约束练习';
外键约束外键是用来建立 ...
Mysql数据库基础(三)
函数是指一段可以被另一个程序直接调用的程序或代码
字符串函数常见的字符串函数如下:
可以通过 SELECT 函数(参数) 来使用这些函数
数值函数常见的数值函数如下:
1.1 向上取整是 2,向下取整则是 1;4/3 取模则是 1
日期函数常见的数值函数如下:
流程函数流畅函数是一种常用的函数,常用于SQL语句的条件筛选,从而提高其效率
创建 score 表:
1234567CREATE TABLE score ( id INT COMMENT '编号', NAME VARCHAR ( 20 ) COMMENT '姓名', math INT COMMENT '数学', english INT COMMENT '英语', chinese INT COMMENT '语文' ) COMMENT '学员成绩表';
插入相应的数据:
12345INSERT INTO scoreVALUES ( 1, 'Tom', 67, 88, 95 ), ( ...
Mysql数据库基础(二)
SQL概述SQL的通用语法:
语句可以单行或多行书写,以分号结尾
可以通过空格/缩进来增强语句的可读性,空格可以是多个
MySQL数据库的SQL语句不区分大小写,但关键字建议使用大写区分开来
SQL的分类:
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:数据库、表、字段等
DML(Data Manipulation Language):数据操作语言,用来对数据库表中的数据进行增删改
DCL(Data Control Language):数据控制语言,用来创建数据库用户、控制数据库的访问权限
DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录
DDLDDL(Data Definition Language):数据定义语言,用来定义数据库对象:数据库、表、字段等
数据库操作:
查询
12345-- 查询所有的数据库SHOW DATABASES;-- 查询当前的数据库SELECT DATABASE();
创建
12-- 创建数据库CREATE DATABASE [IF NOT EXIS ...
搭建个人博客
准备工作Hexo 是一个快速、简洁且高效的 静态 博客框架,它是基于 Node.js 运行的,也就是说它是可以 不需要服务器 的
安装 Node.js安装 Vscode在 Node.js官网 中下载并安装。安装完成后可以通过如下指令检测是否成功安装:
12345# 查看Node.js版本node -v# 查看npm版本npm -v
如果你想要安装其他版本的 Node.js,可以前往此处:以往的版本
Node.js 会自带 npm,该 npm 会用于后续为Hexo博客安装相应的插件。关于npm的镜像源有如下操作:
12345678# 自带的镜像源对于国内有时下载插件会很慢,可以更换为淘宝的镜像源npm config set registry https://registry.npm.taobao.org# 查看当前npm的镜像源npm config get registry# 取消镜像npm config delete registryVisual Studio Code 是一款免费的、轻量级且可扩展的代码编辑器,适用于构建 Web、桌面和移动应用
安装完 VSCode 后是不能立 ...
Mysql数据库基础(一)
高效的管理和存储数据才是软件系统的核心!
Mysql概述数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性
关系型数据库是建立在关系模型基础上,由多张相互连接的二维表组成的数据库,其特点:
表结构进行数据存储,格式统一,便于维护
使用SQL语言操作,标准统一,使用方便
SQL 是用于访问和处理关系型数据库的标准的计算机语言
Mysql安装下载Mysql的安装包:8.0.36,具体安装步骤可参考:Mysql 8.0 – 最新版本安装(保姆级教程)
可以通过命令 net start mysql80 启动mysql,也可以通过命令 net stop mysql80 来停止mysql
mysql80 是在安装mysql时注册到Windows上的服务名称
在设置好环境变量后,可以在 cmd窗口 以 mysql [-h localhost] [-P 3306] ...
Linux简单操作(五)
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
以下是普通模式常用的几个命令:
i – 切换到输入模式,在光标当前位置开始输入文本。
x – 删除当前光标所在处的字符。
: – 切换到底线命令模式,以在最底一行输入命令。
a – 进入插入模式,在光标下一个位置开始输入文本。
o:在当前行的下方插入一个新行,并进入插入模式。
O – 在当前行的上方插入一个新行,并进入插入模式。
dd – 剪切当前行。
yy – 复制当前行。
p(小写) – 粘贴剪贴板内容到光标下方。
P(大写)– 粘贴剪贴板内容到光标上方。
u – 撤销上一次操作。
Ctrl + r – 重做上一 ...
Linux简单操作(四)
ln 命令ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间
语法: ln [参数][源文件或目录][目标文件或目录]必要参数:
–backup[=CONTROL] 备份已存在的目标文件
-b 类似 –backup ,但不接受参数
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程选择参数:
-S “-S<字尾备份字符串> “或 “–suffix=<字尾备份字符串>”
-V “-V<备份方式>”或”–version-control=<备份方式>”
–help 显示帮助信息
–version 显示版本信息
...
Linux简单操作(三)
cp 命令cp(英文全拼:copy file)命令主要用于复制文件或目录
语法:cp [选项] 源文件 目标文件
source(源文件)表示要复制的文件或目录的路径,dest(目标文件)表示复制后的文件或目录的路径
选项说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-r 或 –recursive:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。
-i 或 –interactive:在复制前提示确认,如果目标文件已存在,则会询问是否覆盖,回答 y 时目标文件将被覆盖。。
-u 或 –update:仅复制源文件中更新时间较新的文件。
-v 或 –verbose:显示详细的复制过程。
-p 或 –preserve:保留源文件的权限、所有者和时间戳信息。
-f 或 –force:强制复制,即使目标文件已存在也会覆盖,而且不给出提示。
-l:不复制文件,只是生成链接文件。
123[moe@master ~]$ cp ...