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

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

时间:2023-11-28 19:22:16浏览次数:32  
标签:name mysql 数据库 信息安全 t2 笔记 MySQL table 第十三

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

第十四章 MySQL数据库系统

MySQL简介

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

安装MySQL

  • Ubuntu Linux
    Ubuntu Linux 可通过以下命令安装
 sudo apt-get install mysql-server
 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守护进程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命令选择一个数据库
  • 创建表
    CREATE TABLE table_name 命令回在当前数据库中创建一个表
    DESCRIBEDESC命令显示表格式和列属性。
  • 删除表
    DROP TABLE table_name 命令可删除表
  • MySQL中的数据类型
    • 数值类型:
      INT:整数(4字节)
      TINYINT:(1字节)
      S,MALLINT:(2字节)
      FLOAT:浮动指针数。
    • 字符串类型:
      CHAR(size):固定长度字符串,长度为1~255字符。
      VARCHAR(size):可变长度字符串,但不能使用任何空格。
      TEXT:可变长度的字符串。
    • 日期和时间类型:
      DATE:日期格式为YYYYMM-DD。
      TIME:以HHMMSS格式保存时间.
  • 插入行
    要在表中添加行,可使用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命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表中的各种约束条件。
    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;
  • 关联表
    一个真正的数据库可以能包含多个相互关联的表,使用主键-外键约束条件来定义表关系。
    1.一对一(1-1)关系
    2.一对多(1-M)关系
    3.多对多(M-M)关系
    4.自引用关系
  • 连接操作
    • 在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型。
      • (INNER)JOIN tablel,table2:检索两个表中共有的项。
      • LEFT JOIN tablel,table2:检索表1中的项以及两个表中共有的项。
      • RIGHT JOIN tablel,table2:检索表2中的项以及两个表中共有的项。
      • OUTER JOIN tabell, table2:检索两个表中非共有以及没有用的项。
    • 对于正则集运算,MySQL中的连接操作可以解释如下。+表示两个集合的并集,^表示两个集合的交集。则有
(INNER) JOIN t1, t2 = t1 ^ t2
LEFT JOIN t1, t2 m t1 + (t1 ^ t2)
RIGHT JOIN t1, t2 = t2 +(t1 ^ t2)
OUTER JOIN t1, t2 = t1 + t2;

实践

安装并使用MySQL



遇到的问题及解决

问题:在运行代码进行实践的时候遗忘了root密码,不能使用MySQL
解决:

苏格拉底挑战

1.新建数据库





2.删除数据库





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

相关文章

  • 学习笔记4
    用户与权限管理1.用户与用户组用户的操作使用管理员账户或sodo提权创建用户:useradd-m用户名-m: 自动建立用户的登入目录-uUID: 指定UID,这个UID必须是大于等于500,并没有其他用户占用的UID-gGID/GROUPNAME: 指定默认组,可以是GID或者GROUPNAME,同样也必须真实存在-......
  • 学习笔记5
    命令查找1.命令搜索whereis 搜索命令的位置和帮助文档的位置which 搜索位置和命令的别名2.find类似于Windows中的搜索文件find[-path]-options‘文件’path:要查找的目录,默认是当前目录option:-name 按文件名的某种规则的查找-type 按文件类型查找f普通文件......
  • 学习笔记6
    文本传输1.管道将程序或命令的输出作为另一个程序或者命令的输入,就是用管道来进行完成管道把一系列的命令链接起来管道符:|命令:xargs2.输入重定向在Linux系统中,所有的都是文件或文件夹,终端也是文件输入重定向指的是把命令或者程序的标准输入重定向到指定的文件中,输入可以不......
  • 《游戏编程模式》笔记
    地址:https://gpp.tkchu.me/前言本文无参考价值,主要记录博主在学习本书时,觉得有用的东西不代表这些知识对你有用,也不代表没记录的东西对你没用,想学习请看上面的原文。设计模式状态机有限状态机层次状态机:部分状态可以通过继承,来处理通用的状态。比如在地面上按B,和在空中按B......
  • p2s学习笔记第三录
    datawhalep2s学习chapter_4与选学01chapter_4:条件if语句if语句ifx==0:print(a)if-else语句ifx==0:print("B",end="")else:print("D",end="")abs转换示例defabs(n):ifn>=0:sign=+......
  • 学习笔记3
    在Linux系统中,一切皆文件,因此学习文件管理是非常有必要的。文件管理包括创建文件,复制文件,删除文件,移动文件,查看文件,编辑文件,压缩文件,查找文件等操作。基本文件操作创建文件-删除文件rmsheng.txt复制文件cp/etc/passwda.txt移动文件mva.txt/tmp创建文件夹mkdirtest......
  • 程序员如何做点属于自己的东西?做一个自己认为有价值的小项目?分享我的一个个人项目:代
     工作中经常会遇到很多小的知识点,或者突然有点想法,想记下来方面以后查找。网上搜索问题遇到好的回答希望保存下来,或做下修改成为自己知识。突然想写一点代码验证一点想法,这时不想开启电脑上的软件新建文本,就希望直接可以写代码,然后运行看效果。以上这些需求就是我想自己开发......
  • kotlin orm kotysa笔记
    依赖implementation("org.ufoss.kotysa:kotysa-spring-jdbc:3.2.1")implementation("org.springframework.data:spring-data-jdbc")implementation("com.alibaba:druid:1.2.20")runtimeOnly("org.postgresql:postgresql")yaml配置......
  • 学习笔记
    磁盘管理分区在Linux系统中,可以将磁盘分区为不同的区域。这样可以方便地将不同的数据存储在不同的分区中,提高数据安全性和可靠性。同时,分区还可以帮助我们更方便地管理磁盘空间。Linux系统中有许多分区工具,其中最常用的是fdisk和parted。fdisk是一个命令行工具,用于创建和管理磁......
  • 我的学习笔记历史
    我的学习笔记历史记在书上我最早的课堂学习笔记方式,是在我小学初中时期,直接记录在课本上。好处是,不用专门准备笔记本,还方便查阅,不用写太多文字。有一点不好,就是抓不住重点,难以形成自己的知识体系。笔记本大概高中开始使用纸质笔记本记录。印象很深刻的是数学笔记本,当时我会把......