20211406张顺扬

导航

学习笔记12

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

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

MySQL简介

MySQL是一个开源的关系数据库管理系统,包含服务器和客户端。用户可以通过客户端连接到服务器,然后使用SQL命令进行数据库的创建、删除以及数据的存储、组织和检索。

安装MySQL

Ubuntu Linux

  1. 安装MySQL

    sudo apt-get install mysql-server
    
  2. 配置以获得更好的安全性

    mysql_secure_installation
    

    注意:第一次运行时可能需要使用sudo mysql_secure_installation来执行。

Slackware Linux

由于实验不采用Slackware Linux,故省略。

设置和启动MySQL

  1. 设置my.cnf

    cp /etc/my-small.cnf /etc/my.cnf
    
  2. 安装所需数据库

    mysql_install_db
    
  3. 设置系统权限

    chown -R mysql.mysql /var/lib/mysql
    
  4. 使/etc/rc.d/rc.mysqld可执行

    chmod 755 /etc/rc.d/rc.mysqld
    
  5. 手动启动MySQL守护进程

    /etc/rc.d/rc.mysqld start
    

使用MySQL

连接到服务器,通过MySQL客户端命令mysql

mysql -u root -p

若第一次运行时报错,使用以下命令修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

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

数据库操作

  • 显示数据库

    SHOW DATABASES;
    
  • 新建数据库

    CREATE DATABASE dbname;
    
  • 删除数据库

    DROP DATABASE dbname;
    
  • 选择数据库

    USE dbname;
    

表操作

  • 创建表

    CREATE TABLE [IF NOT EXISTS] tableName (
      columnName columnType columnAttribute,
      PRIMARY KEY(columnName),
      FOREIGN KEY (columnName) REFERENCES tableName (columnName)
    );
    
  • 描述表结构

    DESCRIBE tableName;
    
  • 删除表

    DROP TABLE tableName;
    

数据类型

  • 数值类型

    • INT
    • TINYINT
    • SMALLINT
    • FLOAT
  • 字符串类型

    • CHAR
    • VARCHAR
    • TEXT
  • 日期和时间类型

    • DATE
    • TIME

数据操作

  • 插入行

    INSERT INTO tableName VALUES (value1, value2, ...);
    
  • 删除行

    DELETE FROM tableName WHERE condition;
    
  • 更新表

    UPDATE tableName SET col1 = value1, col2 = value2, ... WHERE condition;
    
  • 修改表

    ALTER TABLE tableName RENAME TO new_name;
    ALTER TABLE tableName ADD columnName datatype;
    ALTER TABLE tableName DROP columnName;
    ALTER TABLE tableName ALTER COLUMN columnName datatype;
    

关联表

在数据库中,可以通过主键-外键约束条件定义表之间的关系:

  • 一对一关系
  • 一对多关系
  • 多对多关系
  • 自引用关系

连接操作

使用主键-外键约束条件创建表之间的关系。

MySQL脚本

MySQL shell可以执行以.sql为后缀的脚本文件。

C语言MySQL编程

通过mysqlclient库中的MySQL C API函数实现C语言程序与MySQL的接口。

PHP MySQL编程

PHP通常用于Web前端,与MySQL交互,通过动态Web页面进行在线数据存储和检索。

以上为对《Unix/Linux系统编程》第14章内容的学习笔记,包括MySQL的安装、基本操作、表操作、数据类型、数据操作等方面的内容。





posted on 2023-12-03 15:09  20211406张顺扬  阅读(20)  评论(0)    收藏  举报