首页 > 其他分享 >学习笔记12

学习笔记12

时间:2023-12-03 15:24:55浏览次数:35  
标签:12 数据库 MySQL tableName 笔记 学习 columnName mysql ALTER

《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的安装、基本操作、表操作、数据类型、数据操作等方面的内容。





标签:12,数据库,MySQL,tableName,笔记,学习,columnName,mysql,ALTER
From: https://www.cnblogs.com/zsy1748774883/p/17873229.html

相关文章

  • 商用密码行业发展讲座——学习笔记
    商用密码的产业发展及应用创新引领“第一”全力推动各行各业创新变革数字保单、电子病历等数字化转型领域是商用密码产业的重要驱动力。密码技术在这些领域的应用创新有望推动各行各业实现更高水平的数字化转型。商用密码产业发展现状产业生态商用密码产业基本定义为采用特......
  • 学c笔记归纳 第三篇——常量
    C语言中常量:常量表示固定的数据。字面常量 “a”const修饰的常变量 本质还是变量,但是不能直接修改,拥有了常量属性#define定义的标识符常量 #defineMAX10枚举常量 一一列举,不常用    主要注意const修饰的常变量在编译器输入以下代码:#includ......
  • 学习资料整合
    @目录......
  • 学期2023-2024.1 学号:20232300)《⽹络空间安全导论》第2周学习总结
    第二章密码学基础2.1密码学概论2.1.1密码的起源人类开发出属于自己的各种复杂系统——语言系统、数字系统和文字系统,例如:1.古代壁画2.古文字的形成3.古代隐写术4.古代密码战争5.达.芬奇密码筒2.1.2古典密码1.代换密码:(1)单表代换——凯撒密码(2)多表代换——维吉尼亚......
  • #2023-2024-1 20232307《网络》第四周学习内容
    2023-2024-120232307《网络》第四周学习内容教材学习内容总结教材学习过程中的问题和解决过程问题一:威胁建模的方法具体内涵是什么?解决方法:询问chat基于AI的学习参考资料《网络空间安全导论》网络空间安全导论书单使用博客园进行学习MarkDown/Mermaid排版教程......
  • jmeter初步学习1
    http请求报文 响应报文 常见状态码 启动jmeter1、添加HTTP请求 正则表达式获取变量值 content":"(.*?)"}  起始内容:content":"结尾内容:"}  中间取值:(.*?)  --任意匹配JSON提取器 输出查验获取结果: 上面选择日志查看,可以查看输出:也可以调试开......
  • 2023-2024-1 20232322 罗上林 《网络》第四周学习总结
    教材学习内容总结教材学习中的问题和解决过程-问题1:概念无法理解-问题1解决方案:询问AI,百度一下基于AI的学习参考资料《网络空间安全导论》网络空间安全导论书单......
  • 2023-2024-1 20232408 《网络空间安全导论》第四周学习总结
    2023-2024-120232408《网络空间安全导论》第四周学习总结教材学习内容总结这一章的题目为系统安全基础。高中时学过哲学,了解过系统是由各个相互联系、相互影响的要素所构成,而且整体性、有序性、内部结构的优化性是其基本特征。而研究系统安全,有一个方面必须是由整体的视角去研......
  • 学习笔记4:JavaSE & API(集合)
    1、集合综述(1)定义:集合与数组一样,可以保存一组元素,并且提供了操作元素的相关方法,使用更方便。(2)java集合框架中相关接口java.util.Collection接口:所有集合的顶级接口。Collection下面有多种实现类,因此我们有更多的数据结构可供选择。java.util.List:线性表。是可重复集合,并且有......
  • 2023-2024-1 20231421 《计算机基础与程序设计》第十周学习总结
    ------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------......