信息安全系统设计与实现 学习笔记12

发布时间 2023-11-30 15:10:46作者: 20211412赖加奕

《Unix/Linux系统编程》14章学习笔记

本章重点:MySQL关系数据库系统;MySQL;如何在Linux机器上安装和运行MySQL;如何使用MySQL在命令模式和批处理模式下使用SQL脚本创建和管理数据库;如何将MySQL与C编程相结合;如何将MySQL与PHP集成,通过动态Web页面创建和管理数据库。

MySQL简介

MySQL是一个关系数据库系统,是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。

安装MySQL

Ubuntu Linux

 sudo apt-get install mysql-server
 mysql_secure_installation 

Slackware Linux

  1. 设置my.cnf

    cp /etc/my-small.cnf /etc/my.cnf

  2. 安装所需数据库

    mysql_install_db

  3. 设置所需的系统权限

    chown -R inysql.mysql /var/lib/mysql

  4. 通过以下操作使Zetc/rc.d/rc.mysqld可执行:
    chmod 7S5 /etc/rc.d/rc.mysqld

使用MySQL

  1. 连接到服务器

    从X-window终端输入MySQL客户机命令mysql,它连接到同一台计算机上默认本地主机上的MySQL服务器

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

    注意:

    • 所有的命令行末尾必须是分号
    • MySQL命令行不区分大小写
  2. 显示数据库

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

  3. 新建数据库

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

  4. 删除数据库

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

  5. 选择数据库

USE dbname命令选择一个数据库

  1. 创建表

CREATE TABLE table _ name 命令回在当前数据库中创建一个表

  1. 删除表

DROP TABLE table_ name 命令可删除表

  1. 数据类型

    • INT:整型(4字节),TINYINT:(1字节),SMALLINT:(2字节)
    • FLOAT:浮动指针数
    • CHAR:固定长度字符串
    • VARCHAR:可变长度字符串,不能使用任何空格
    • TEXT:可变长度的字符串
    • DATE:日期
    • TIME:时间
  2. 插入行

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

  3. 删除行

    使用DELETE命令从表中删除行
    DELETE FROM table_name;
    DELETE FROM table_name WHERE condition;

  4. 更新表

UPDATE命令用于修改表中的现有记录(列)
`UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;`
  1. 修改表
- 修改表名 

  `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. 关联表

    一个真正的数据库可以能包含多个相互关联的表,使用主键-外键约束条件来定义表关系。在两个表之间创建链接,其中一个表的主键与另一个表的外键相关联

    • 一对一关系
    • 一对多关系
    • 多对多关系
    • 自引用关系
  2. 连接操作

  3. MySQL数据库关系图

    用数据库关系图来描述表之间的关系非常有用,这类关系图通常称为ERD(实体关系图)或EERD(增强/扩展ERD)

  4. MySQL脚本

    与普通unix/Linux sh一样,MySQL shell也可以接受和执行脚本文件。MySQL脚本文件的后缀是.sql

C语言MySQL编程

C语言程序与MySQL之间的接口由mysqlclient库中的一系列MySQL C API函数支持

PHP MySQL编程

PHP通常用作Web沾点的前端,它与后端数据库引擎交互,通过动态Web页面在线存储和检索数据。