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

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

时间:2023-12-02 14:15:26浏览次数:29  
标签:第十三 mysql 数据库 信息安全 笔记 表中 MySQL table name

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

第十四章 MySQL数据库系统

MySQL简介

  • MySQL是一个关系数据库系统在关系数据库中,在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL 和PHP已成为大多数数据管理和在线商务网站的主干网。

  • MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SOL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL和PHP(PHP 2018)已成为大多数数据管理和在线商务网站的主干网。本章介绍了MySQL。我们将介绍MySQL的基础知识,包括如何在Linux中安装/配置MySQL,如何使用MySQL创建和管理简单数据库,以及如何在C语言和PHP编程环境中与MySQL交互。

安装MySQL

  • Ubuntu Linux 可通过以下命令安装
    • sudo apt-get install mysql-server
      mysql_secure_installation
  • Slackware Linux
    • 设置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
    • 安装所需数据库:MySQL需要一个所需数据库集,用于用户识别等。要安装它们, 可使用mysql用户作为超级用户,并使用以下命令安装所需的初始数据库。
      • mysql_install_db
    • 设置所需的系统权限:该步骤确保mysql用户拥有mysql系统的所有权。
      • chown -R inysql.mysql /var/lib/mysql
    • 通过以下操作使Zetc/rc.d/rc.mysqld可执行:
      • chmod 7S5 /etc/rc.d/rc.mysqld

使用MySQL

  • 连接到MySQL服务器
    •   mysql -u root -p
        Enter password:
        mysql>
      
  • 显示数据库
    • SHOW DATABASES命令可显示MySQL 中的当前数据库
  • 新建数据库
    • 如果数据库dbname还不存在,CREATE DATABASE dbname创建一个名为dbname的数据库,如果数据库已经存在,则可以使用IF NOT EXISTS子句对命令限定。
  • 删除数据库
    • DROP DATABASE dbname 删除已存在的命名数据库,该命令可以用一个可选的IF EXISTS 子句限定。注意,该操作不可逆,需谨慎使用。
  • 选择数据库
    • 为了操作特定的数据库,用户必须通过USE dbname命令选择一个数据库
  • 创建表
  • 删除表
    • DROP TABLE table_name 命令可删除表
  • MySQL中的数据类型
    • 数值类型
      • INT:整数(4字节),TINYINT:(1字节),SMALLINT:(2字节)等
      • FLOAT:浮动指针数。
    • 字符串类型:
      • CHAR(size):固定长度字符串,长度为1255 字符
      • 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 FROM table_name WHERE condition;
  • 更新表
    • UPDATE命令用于修改表中的现有记录(列)
      • UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;
  • 修改表
    ALTER TABLE命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表中的各种约束条件。
    • 修改表名
      • 如需修改表名,可使用以下命令:
        ALTER TABLE table name renAme To new_name;
    • 添加列
      • 要在表中添加列,可使用以下命令:
        ALTER TABLE table name ADD column name datatype;
    • 删除行
      • 可使用以下命令删除列:
        ALTER TABLE table name DROP column name datatype;
    • 更改/修改行
      • 可使用以下命令修改表中某列的数据类型:
        ALTER TABLE table name ALTER COLUNN column_name datatype;
  • 关联表
    • 一对一(1-1)关系
      • 对一(1-1)关系是指两个表仅基于一个匹配行相互关联的关系。可以使用主键-外键约束条件创建这类关系。假设在 cs360数据库中,每个学生都有一个唯一的电子邮箱地址。我们可在 students 表中添加每个学生的电子邮箱地址,但这需要在学生表中新增一列相反,我们可以创建一个只包含学生电子邮箱地址的单独email表并通过email 表中的唯一外键定义两个表之间的1-1关系,该外键引用students 表中的主键。

    • 一对多(1-M)关系
      • 在数据块中,一对多或1-M关系比1-1关系更常见,也更有用。一对多关系是指一个表中的一行在另一个表中有多个匹配行的关系。可以使用主键-外键关系来创建这种关系。

    • 多对多(M-M)关系
      • 如果一个表中的多条记录与另一个表中的多条记录相关,则两个表具有多对多(M-M)关系。例如,每名学生可以上几门课,每门课通常有多名学生。所以,students 表与课程注册表之间是 M-M关系。处理M-M 关系的标准方法是在两个表之间创建一个连接表。连接表使用外键来引用两个表中的主键,从而在两个表之间创建连接。

    • 自引用关系
      • 表可以通过某些列自我关联。
  • 连接操作
    • 在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型
      • (INNER)JOIN tablel,table2:检索两个表中共有的项。
      • LEFT JOIN tablel,table2:检索表1中的项以及两个表中共有的项。
      • RIGHT JOIN tablel,table2:检索表2中的项以及两个表中共有的项。
      • OUTER JOIN tabell, table2:检索两个表中非共有以及没有用的项。
  • 对于正则集运算,MySQL中的连接操作可以解释如下。+表示两个集合的并集,^表示两个集合的交集。则有

实践

安装mysql




使用mysql



遇到的问题及解决

问题

  • 安装MySQL时没设置password

解决

  • 按照GPT的步骤设置password

苏格拉底挑战




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

相关文章

  • 【python笔记】弱引用weakref
    参考书籍:《深度学习入门——自制框架》[日]斋藤康毅强引用会出现循环引用的情况classobj(): passa=obj()#使用赋值运算,引用计数加1b=obj()c=obj()#执行到这里,a、b、c的引用计数都为1a.b=b#被对象强引用,引用计数加1b.c=cc.a=a#执行到这里,a、b、......
  • 反演与容斥 学习笔记
    反演与容斥学习笔记二项式反演函数\(f,g\),有以下结论:\[f_k=\sum_{i=0}^k\binom{k}{i}g_i\Longleftrightarrowg_k=\sum_{i=0}^k(-1)^{k-i}\binom{k}{i}f_i\]证明:考虑右式\[\begin{aligned}&\sum_{i=0}^k(-1)^{k-i}\binom{k}{i}f_k\\=&\sum_{i=0......
  • LLM 学习笔记-transformers库的 PreTrainedModel 和 ModelOutput 到底是什么?
    闲言碎语我在刚开始接触huggingface(后简称hf)的transformers库时候感觉很冗杂,比如就模型而言,有PretrainedModel,AutoModel,还有各种ModelForClassification,ModelForCausalLM,AutoModelForPreTraining,AutoModelForCausalLM等等;不仅如此,还设计了多到让人头皮发麻的各......
  • 计算机在信息安全中的应用
    分组计算机在信息安全中有什么应用?程序设计在信息安全中有什么应用?1通过知网等搜索学术论文,提交你搜到的相关论文2通过搜索引擎搜索资料,提交相关链接3通过与学长老师谈论,提交访谈记录4成果做成PPT,提交PPT5录制成视频有加分。1.询问AI结果一结果二结果三2.个......
  • 【Android逆向】一些零碎的笔记
    *在/sdcard/下的文件无法执行,必须将其拷贝到其它位置执行,如/data/目录,/data/目录中是system分组,可以执行程序;*每个应用都会创建一个对应的应用用户,如:cn.abcpiano.pianist包名的应用,创建了一个u0_a147用户;* getpropro.product.cpu.abi ......
  • 笔记06:循环和字符串
    笔记06:循环while循环whileconditionisTrue: statement(s) ifcondition: break else:continueelse:break语句跳出循环体continue语句跳出循环体并回到循环体的判断位置else语句当循环正常结束时,进行else语句for循环forvariablein可迭代对象: statement(s......
  • 20211326学习笔记12
    第十四章数据库系统一、知识点归纳(一)MySQL简介MySQL(MySQL2018)是一个关系数据库系统(Codd1970)c在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系......
  • 梦断代码 读书笔记03
    第9章方法IBM执行强制进度纪律的成功基于两条原则:1)计划是强制性的2)计划必须符合现实情况----“从底向上”,依据那些负责按计划执行的程序员的经验和知识而来,而不是“从顶至下”,靠管理者拍脑袋或对市场的期望而来2001年17位领军人物,提出了敏捷软件开发宣言,向这种笨重的CMM宣战,从此......
  • 《信息安全系统设计与实现》学习笔记12
    《信息安全系统设计与实现》学习笔记12第十四章MySQL数据库系统MySQL简介MySQL(MySQL2018)是一个关系数据库系统(Codd1970)。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息......
  • C++学习笔记——函数探幽
    C++内联函数内联函数是一种用空间换时间的技术,是C++提高程序运行速度做的改进。运行程序时操作系统将指令载入计算机内存中,并逐条执行这些指令,遇到循环或分支时向前或向后跳转到特定的地址(每条指令都有特定的内存地址)。常规函数也是如此,在调用常规函数时立即存储该指令的地址......