MySQL数据库系统

知识点总结

一、MySQL

  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SOL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL和PHP(PHP2018)已成为大多数数据管理和在线商务网站的主干网。

  • MySQL与其他的大型数据库比较

    例如Oracle 、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。

  • 数据库类型

    • 关系型数据库——Oracle、SQL Sever、MySQL

      代表:Oracle、SQL Server、MySQL

    • 非关系型数据库——Redis、Mongodb,NoSQL数据库在存储速度与灵性方面有优势,也常用于缓存。

      代表:Redis、Mongodb

  • SQL结构化查询语言

    • 数据定义语言(DDL):

        用于定义和管理数据对象,包括数据库,数据表等。例如:CREATE,DROP,ALTER等。

        数据库 -> 数据表:对数据库或数据表的创建、删除、修改等操作

    • 数据操作语言(DML):

        用于操作数据库对象中所包含的数据。例如:INSERT,UPDATE,DELETE语句。对数据的 增、删、改这些操作,就是数据操作语言

    • 数据查询语言(DQL):

        用于查询数据库对象中所包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回客户机中显示。

    • 数据控制语言(DCL):

        是用来管理数据库的语言,包括管理权限及数据更改。

二、使用MySQL

1.安装MySQL

Ubuntu Linux中

sudo apt-get install mysql-server
mysql_secure_installation

2.使用MySQL

(1)连接到MySQL服务器
mysql -u root -p

连接到MySQL服务器后,即可访问MySQL shell。

(2)显示数据库

SHOW DATABASES命令可显示MySQL中的当前数据库

(3)新建数据库

CREATE DATABASE dbname创建一个名为dbname的数据库,如果数据库已经存在,则可以使用IF NOT EXISTS子句对命令限定。

(4)删除数据库

DROP DATABASE dbname删除已存在的命名数据库,该命令可以用一个可选的IF EXISTS子句限定。

(5)选择数据库

USE dbname命令选择一个数据库

(6)创建表

CREATE TABLE table_name命令回在当前数据库中创建一个表;DESCRIBE命令显示表格式和列属性。

(7)删除表

DROP TABLE table_name删除表

(8)数据类型

数值类型:

INT:整数(4字节),TINYINT:(1字节)S,MALLINT:(2字节)等。

FLOAT:浮动指针数。

字符串类型:

CHAR(size):固定长度字符串,长度为1~255字符。

VARCHAR(size):可变长度字符串,但不能使用任何空格。

TEXT:可变长度的字符串。

日期和时间类型:

DATE:日期格式为YYYYMM-DD。

TIME:以HHMMSS格式保存时间.

(9)插入行

要在表中添加行,可使用INSERT命名,具有语法形式:

INSERT INTO table_name VLAUES(columnValuel,columnValue2,....);

(10)删除行

使用DELETE命令从表中删除行,其语法形式如下:

DELETE FROM table_name;

DELETE FROM table_name WHERE condition;

(11)更新表

UPDATE命令用于修改表中的现有记录(列)。它的语法形式如下:

UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;

(12)修改表

1.修改表名

如需修改表名,可使用以下命令:

ALTER TABLE table name renAme To new_name;

2.添加列

要在表中添加列,可使用以下命令:

ALTER TABLE table name ADD column name datatype;

3.删除行

可使用以下命令删除列:

ALTER TABLE table name DROP column name datatype;

4.更改/修改行

可使用以下命令修改表中某列的数据类型:

ALTER TABLE table name ALTER COLUNN column_name datatype;

(13)关联表

1.一对一关系

2.一对多关系

3.多对多关系

4.自引用关系

(14)连接操作

在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型。

(INNER)JOIN tablel,table2:检索两个表中共有的项。

LEFT JOIN tablel,table2:检索表1中的项以及两个表中共有的项。

RIGHT JOIN tablel,table2:检索表2中的项以及两个表中共有的项。

OUTER JOIN tabell, table2:检索两个表中非共有以及没有用的项。

《Unix/Linux系统编程》第十四章学习笔记 20201209戴骏的更多相关文章

  1. 《Linux命令行与shell脚本编程大全》 第十四章 学习笔记

    第十四章:呈现数据 理解输入与输出 标准文件描述符 文件描述符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1.STDIN 代表标准输入.对于终端界面 ...

  2. 《Linux内核设计与实现》第四章学习笔记

    <Linux内核设计与实现>第四章学习笔记           ——进程调度 姓名:王玮怡  学号:20135116 一.多任务 1.多任务操作系统的含义 多任务操作系统就是能同时并发地交 ...

  3. 《Linux内核设计与实现》第四章学习笔记——进程调度

                                                                        <Linux内核设计与实现>第四章学习笔记——进程调 ...

  4. Spring实战第四章学习笔记————面向切面的Spring

    Spring实战第四章学习笔记----面向切面的Spring 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我 ...

  5. 《Linux命令行与shell脚本编程大全》 第十五章 学习笔记

    第十五章:控制脚本 处理信号 重温Linux信号 信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL 无条件终止 11 SEGV 段错误 15 TERM 尽可能 ...

  6. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

  7. Mudo C++网络库第四章学习笔记

    C++多线程系统编程精要 学习多线程编程面临的最大思维方式的转变有两点: 当前线程可能被切换出去, 或者说被抢占(preempt)了; 多线程程序中事件的发生顺序不再有全局统一的先后关系; 当线程被切 ...

  8. 《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记

    第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本 ...

  9. 《Linux命令行与shell脚本编程大全》 第十六章 学习笔记

    第十六章:创建函数 基本的脚本函数 创建函数 1.用function关键字,后面跟函数名 function name { commands } 2.函数名后面跟空圆括号,标明正在定义一个函数 name ...

  10. 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)

    第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...

随机推荐

  1. linux 中后台运行python脚本

    nohup python yourscript.py &可以让你的程序在后台运行,控制台输出导向nohup.out文件 使用nobup命令 结尾处加一个& 符号

  2. OS-lab5

    OS-lab5 磁盘管理 完成文件系统的第一步就是要能够处理磁盘等外设的信息. lib/syscall_all.c 处理磁盘的信息,最基本的就是对磁盘进行读写操作. sys_write_dev函数用于 ...

  3. [Docker-2]排查基于docker部署mysql主从过程中遇到“Slave_IO_Running: Connecting”这个疑难杂症

    关于"Slave_IO_Running: Connecting"的排查方法,已经有很多博客写得清清楚楚了(很多都是复制粘贴..真浪费时间),那么如果已有的常规排查方法都不能解决你的 ...

  4. 第二周集训队比赛wp

    Web1 直接截包改get为Host: Web2: 不一样的猪圈 普通的猪圈变种 NormalPwn 用IDA查看发现main下面有一个危险函数点进去发现/bin/sh 进main空格发现找cmman ...

  5. windows系统mysql8.0.20.0踩坑(-)

    首先, 下载mysql-installer-web-community-8.0.20.0.msi 一步一步安装下来,一切看起来如此美好 cmd运行mysqld --install 但发现net sta ...

  6. Back Propagation - Python实现

    算法特征①. 统一看待线性运算与非线性运算; ②. 确定求导变量loss影响链路; ③. loss影响链路梯度逐级反向传播. 算法推导Part Ⅰ以如下简单正向传播链为例, 引入线性运算与非线性运算符 ...

  7. wsl2 的安装与使用

    wsl2 简介 wsl2 是 window 自家做的虚拟机,如果初次接触,可以建立的理解为 vmware.只不过他是 window 公司自己开发的,所以从兼容性上来讲,会更好一些. 我个人选择使用 w ...

  8. BAPI_GOODSMVT_CREATE - 101 mvt. Message ERROR M7427

    Message SAP M7427 - Entered batch &1 does not match batch &2 in the purchase order 639934 - ...

  9. docker停止所有窗容器

    docker中 启动所有的容器命令docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) docker中 关闭所有的容器命令dock ...

  10. Razor视图cshtml做到运行时编译【提高开发效率】

    当你的.NET开发工具升级到.NET Core版本以上,就会发现有时候无法将视图界面做的修改可以直接保存后刷新输出,一般都需要重新热重载或重新编译,这样会导致开发效率过慢的行为,开发者无法直接直观地看 ...