首页 > 其他分享 >《信息安全系统设计与实现》第十二次学习笔记

《信息安全系统设计与实现》第十二次学习笔记

时间:2023-12-02 19:44:24浏览次数:40  
标签:name mysql 数据库 信息安全 第十二次 笔记 表中 MySQL table

第十四章:MySQL数据库系统

MySQL简介

  • MySQL(MySQL2018)是一个关系数据库系统(Codd 1970)。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是SQL(结构化查询语言)包括MySQL
  • MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL和PHP(PHP 2018)已成为大多数数据管理和在线商务网站的主干网。本章介绍了MySQL。我们将介绍MySQL的基础知识,包括如何在Linux 中安装/配置MySOL,如何使用MySQL创建和管理简单数据库,以及如何在C语言和PHP编程环境中与MySQL交互

安装MySQL

Ubuntu Linux

  • 对于Ubuntu 16.04及之后版本,可通过以下操作安装
    sudo apt-get install mysql-server
    安装MySQL后,可通过运行脚本对其进行配置已获得更好的安全性
    mysql_secure_installation

Slackware Linux

  1. 设置my.cnf : MySQL在启动时加载一个名为my.cnf的配置文件。该文件要在首次设置MySQL时创建。在/etc目录中,有几个示例my.cnf文件,文件名分别是my-small. cnf. my-large.cnf等。选择所需的版本来创建my.cnf文件,如
    cp /etc/my-small.cnf /etc/my.cnf
  2. 安装所需数据库:MySQL需要一个所需数据库集,用于用户识别等。要安装它们, 可使用mysql用户作为超级用户,并使用以下命令安装所需的初始数据库
    mysql_install_db
  3. 设置所需的系统权限:该步骤确保mysql用户拥有mysql系统的所有权
    chown -R inysql.mysql /var/lib/mysql
  4. 通过以下操作使Zetc/rc.d/rc.mysqld可执行:
    chmod 7S5 /etc/rc.d/rc.mysqld

使用MySQL

连接到MySQL服务器

  • 使用MySQL的第一步是运行MySQL客户机程序。从X-window终端输人MySQL客户机命令mysql,它连接到同一台计算机上默认本地主机上的MySQL服务器
  mysql -u root -p
  Enter password:
  mysql>

显示数据库

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

新建数据库

  • 如果数据库dbname还不存在,那么CREATE DATABASEdbname命令将创建一个名为dbname的新数据库。如果数据库已经存在则可以使用可选的IF NOT EXISTS子对该命令进行限定,以避免出现错误消息

删除数据库

  • DROP DATABASE dbname 会删除已存在的命名数据库。该命令可以用一个可选的IFEXISTS 子句限定。注意,DROP 操作是不可逆的。一旦数据库被删除,就无法撤销或恢复因此,须谨慎使用

选择数据库

  • 假设MySOL已经有几个数据库。为了操作特定的数据库,用户必须通过USE dbname命令选择一个数据库

创建表

  • CREATE TABLE table name 命令会在当前数据库中创建一个表。命令语法如下:
CREATE TABLE [IF NOT EXISTS] tableName (
  columnName columnType columnAttribute, ...
  PRIMARY KEY(columnName).
  FOREIGN KEY (columnNmae) REFERENCES tableName (columnNmae)
)
  • DESCRIBEDESC命令显示表格式和列属性

删除表

  • DROP TABLE table name 命令可删除表

MySQL中的数据类型

  • 数值类型
    • INT:整数(4字节),TINYINT:(1字节),SMALLINT:(2字节)等
    • FLOAT:浮动指针数
  • 字符串类型
    • CHAR(size):固定长度字符串,长度为1~255 字符
    • VARCHAR(size):可变长度字符串,但不能使用任何空格
    • TEXT:可变长度的字符串
  • 日期和时间类型
    • DATE:日期格式为YYYY-MM-DD
    • TIME:以HH:MM:SS格式保存时间

插入行

  • 要在表中添加行,可使用INSERT命名,具有语法形式:INSERT INTO table name VLAUES(columnValuel,columnValue2,....);

删除行

  • 使用 DELETE命令从表中删除行,其语法形式如下:
DELETE FROM table name; # delete all rows of a table
DELETE FROM table_name WHERE condition; # delete row by condition

更新表

  • UPDATE命令用于修改表中的现有记录(列)。它的语法形式如下
UPDATE table_name SET coll = valuel, col2 = value2,...WHERE condition;

修改表

  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 DROP column name datatype;

关联表

  1. 一对一(1-1)关系
    一对一(1-1)关系是指两个表仅基于一个匹配行相互关联的关系。可以使用主键-外键约束条件创建这类关系。假设在cs360 数据库中,每个学生都有一个唯一的电子邮箱地址。我们可在 students 表中添加每个学生的电子邮箱地址,但这需要在学生表中新增一列。相反,我们可以创建一个只包含学生电子邮箱地址的单独 email 表,并通过mail 表中的唯一外键定义两个表之间的1-1关系,该外键引用students 表中的主键
  2. 一对多(1-M)关系
    在数据块中,一对多或1-M关系比1-1关系更常见,也更有用。一对多关系是指一个表中的一行在另一个表中有多个匹配行的关系。可以使用主键-外键关系来创建这种关系
  3. 多对多(M-M)关系
    如果一个表中的多条记录与另一个表中的多条记录相关,则两个表具有多对多(M-M)关系。例如,每名学生可以上几门课,每门课通常有多名学生。所以,students 表与课程注册表之间是 M-M关系。处理M-M 关系的标准方法是在两个表之间创建一个连接表。连接表使用外键来引用两个表中的主键,从而在两个表之间创建连接
  4. 自引用关系
    表可以通过某些列自我关联

连接操作

  • 在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型
    • (INNER)JOIN tablel,table2:检索两个表中共有的项
    • LEFT JOIN tablel,table2:检索表1中的项以及两个表中共有的项
    • RIGHT JOIN tablel,table2:检索表2中的项以及两个表中共有的项
    • OUTER JOIN tabell, table2:检索两个表中非共有以及没有用的项

标签:name,mysql,数据库,信息安全,第十二次,笔记,表中,MySQL,table
From: https://www.cnblogs.com/wenxinhe/p/17872116.html

相关文章

  • p2s学习笔记第四录
    datawhalep2s学习chapter_5与chapter_6chapter_5:循环for循环for循环和循环范围特点基于提供的范围,重复执行特定次数的操作range默认参数range(a,b,c)a为起始值,b为终值+1,c为步长a如果不写,默认为0c不写默认为1for循环嵌套a=5b=5foriinrange(a):......
  • 高能笔记
    高能笔记致力于提供高中信息技术学习笔记,配套视频讲解,让成绩翻一番!阅读资料、观看视频的时候不要忘记一键三连哦~【高能笔记】资料中已经将每一部分的视频链接嵌入,点击即可跳转普通高中教科书信息技术必修一:数据与计算第一章:数据与信息(【高能笔记】数据与信息)1.1感知数......
  • python第四次笔记
    循环和字符串循环for循环forxinrange(x,y)forxinrange(1,10,2):print(int(x))表示遍历1到9之间的数,步长为2即打印13579while循环while(条件):执行行为whileTrue:print("nihao")这个代码会一直打印nihaocontinuebreakpasscontinue用于跳出本......
  • 解析几何笔记:仿射坐标系
    目录仿射坐标系不共面向量基向量仿射标架(仿射坐标系)直角标架(直角坐标系)向量共线(共面)两向量共线三向量共面应用仿射标架下的三点共线条件线段的定比分点空间直线和平面仿射坐标系中的平面两平面的位置关系三平面交于一点参考仿射坐标系不共面向量定理1空间中任意给定三个不共......
  • 学C笔记归纳——第一篇
    计算机的“语言文字系统”由且只由‘0’和‘1’构成,人很难记住各种‘0’与‘1’构成的指令,为此,我们将不同功能的01指令与不同字母符号构成的指令一一对应,编程语言由此而来。1、什么是编译?编译即翻译,翻译官(编译器)将编程语言转换成对应的计算机可识别的01指令2、我对C语......
  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第十二周学习笔记
    202113252023-2024-1《信息安全系统设计与实现(上)》第十二周学习笔记一、任务要求 自学教材第14章,提交学习笔记(10分),评分标准如下1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学*......
  • SQLBI_精通DAX课程笔记_02_数据类型
    SQLBI_精通DAX课程笔记_02_数据类型PowerBi和AnalysisServices在数据加载环节,无论数据源是什么类型,都会自动将数据转化为DAX可用的数据类型集。以下链接为微软官方文档,也可以参考浏览:https://learn.microsoft.com/zh-cn/power-bi/connect-data/desktop-data-types一:数据类......
  • 计算机在信息安全中的应用
    1通过知网等搜索学术论文,提交你搜到的相关论文计算机与程序设计在信息安全中的应用原链接通过搜索引擎搜索资料,提交相关链接计算机在信息安全中的应用RSA算法原理......
  • <金融心理学>读书笔记一
    关于“市场走在前面”的一些想法1、股票市场经常提前反映经济的转折和好坏,债券市场也是,这其中的道理是股票市场其实也是人的市场,人们买卖股票造成了股市的涨跌,人对未来经济的预期,会提前反馈在股价上,这是导致股市走在经济前面的主要原因,所以人的预期非常重要但是并不是所有的人......
  • 阅读笔记4(实例化需求)
    《实例化需求》是一本由GojkoAdzic撰写的书籍,主要介绍了一种软件开发方法,即通过实例来进行需求规格说明,以确保团队交付正确的软件。以下是对这本书的阅读笔记:第一章:引言作者介绍了实例化需求的基本概念,即通过实例来明确软件需求。提到了该方法如何帮助团队在开发过程中更好地理解......