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. 068_Apex&Page中的ReadOnly 使用方式

    一.page页面遇到需要检索大量数据的处理方式需要时会用Readonly 通常,对单个Visualforce页面请求的查询可能无法检索超过50,000行. 在Read only模式下,此限制将放宽允许 ...

  2. Flurl 组件使用

    简介 先发上官网地址:https://flurl.dev/ Flurl 是一个异步的.可测试的.可移植的.URL 构建器和 .NET 的 HTTP 客户端库:Flurl 在NuGet上可用,可免费用于 ...

  3. linux基本命令说明参数

    linux基本命令说明参数 标签(空格分隔): Linux 1.# 表示权限用户(如:root),$ 表示普通用户 开机提示:Login:输入用户名 password:输入口令 用户是系统注册用户成功 ...

  4. Python 切片/列表/字符串之间装换

    1. 怎么实现字符串变为list 使用split(),把字符串拆分再存入数组: 例子 input="ni si shi" output=input.split(" &qu ...

  5. socket的客户端和服务端(Windows控制台程序)

    首先是两个程序,分别是socket的客户端和服务端.(在windows系统vc6.0编译)服务器端:#include <Winsock2.h>#include <stdio.h> ...

  6. 谈谈mysql的主键和外键

    主键:保证数据的唯一性,非空且唯一,一般设置主键的语法为:字段 类型 PRIMARY KEY;或者 字段 类型,PRIMARY KEY(字段名) 外键:保证数据的完整性,一致性.一般设置的外键关联的是 ...

  7. 最简spring IOC实现

    public class Main { public static void main(String[] args) throws Exception { Class<Address> a ...

  8. vue3 门户网站搭建5-图标

    奈何 element 自带的图标太少,不够用,故打算使用 vite-plugin-svg-icons 组件来封装 svg-icon . ps: ui 框架选用的 element-ui,为了能跟 vue ...

  9. MxDraw云图平台 2022.08.24更新

    SDK开发包下载地址: https://www.mxdraw.com/ndetail_30187.html 1. 增加对像扩展数据功能 2. 增加CAD GIS使用功能 https://www.mxd ...

  10. tool script to convert back slash

    Back slash is used in windows, which makes so many headache for me. Then an idea came to my mind. It ...