首页 > 其他分享 >20201306吴龙灿第十四章学习笔记

20201306吴龙灿第十四章学习笔记

时间:2022-11-15 20:44:06浏览次数:67  
标签:数据库 MySQL char 吴龙灿 mysql 第十四章 query MYSQL 20201306

知识点归纳

第十四章MySQL数据库系统

数据库

什么是数据库

数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。
什么是数据库管理系统
数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。

什么是MySQL

MySQL ( MySQL 2018)是一个数据库管理系统系统(Codd 1970)。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是SQL(结构化查询语言),包括MySQL。
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。
MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

安装MySQL

输入命令:sudo apt-get install mysql-server

初始化成功

一、用命令在Ubuntu上安装MySQL

sudo apt-get update

sudo apt-get upgrade

sudo apt-get -f install

  1. sudo apt-get install mysql-server
  2. apt-get isntall mysql-client
  3. sudo apt-get install libmysqlclient-dev
    注:如果安装过程中有未发现的包,请用命令sudo apt-get update更新软件包。
    安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
    sudo netstat -tap | grep mysql
    通过上述命令检查之后,如果看到有mysql的socket处于 listen状态则表示安装成功。
    登陆mysql数据库可以通过如下命令:
    mysql -u root -p
    -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
    注:本程序中选择的登录用户名为lza,密码为123456。
二、建立数据库

在mysql命令下赋予用户权限,即:

mysql>GRANT ALL ON . TO lza@localhost IDENTIFIED BY ‘123456’ ;
登录并创建数据库
mysql>CREATE DATABASE project;  注:本程序中所用数据库名为project。
Query OK,.....
mysql>use project
现在,可以在数据库project中添加我们想要的表和信息了。在以后的登录中,可以在命令行的结尾指定数据库,而不需要再使用use命令了,即:
mysql -u lza -p project

实践

C语言简单编程之SQL数据库实践

#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>  
#include <mysql/mysql.h>  

#define MYSQL_HOST    "localhost"
#define MYSQL_USER    "root"
#define MYSQL_PASSWD  "toor"
#define DB_NAME "db"
#define TABLE_NAME "students"

/*
 * 测试的数据表结构很简单, number, grade, sex, score 四个字段, 代表学号、年级、性别、分数
*/

/* 连接mysql */  
void mysqldb_connect(MYSQL *mysql)
{  
    if(!mysql_real_connect(mysql, MYSQL_HOST, MYSQL_USER, MYSQL_PASSWD, DB_NAME, 0, NULL, 0)) {  
        printf("\nFailed to connect:%s\n", mysql_error(mysql));  
    } else {
       printf("\nConnect sucessfully!\n"); 
    }
}   

/* 插入数据 */
void mysqldb_insert(MYSQL *mysql, int number, int grade, char *sex, int score)
{  
    int t;  
    char *head = "INSERT INTO ";  
    char query[120];
    char field[48] = "number, grade, sex, score";
    char *left = "(";  
    char *right = ") ";  
    char *values = "VALUES";  
    char message[100] = {0};  

    sprintf(message, "%d, %d, \"%s\", %d", number, grade, sex, score);

    /* 拼接sql命令 */  
    sprintf(query, "%s%s%s%s%s%s%s%s%s", head, TABLE_NAME, left, field, right, values, left, message, right);
    printf("%s\n", query);  

    t = mysql_real_query(mysql, query, strlen(query));
    if (t) {  
        printf("Failed to query: %s\n", mysql_error(mysql));  
    } 
    else {
        printf("\nInsert sucessfully!\n");
    }
    
}  

/* 删除数据 */
void mysqldb_delete(MYSQL *mysql, char *field_name, int number)
{  
    int t;
    char *head = "DELETE FROM ";  
    char query[120];  

    sprintf(query, "%s%s where %s =%d", head, TABLE_NAME, field_name, number);
    printf("%s\n", query);

    t = mysql_real_query(mysql, query, strlen(query));
    if (t) {  
        printf("\nFailed to query: %s\n", mysql_error(mysql));  
    } else {
        printf("\nDelete data sucessfully!\n");  
    }
    
}  

/* 更新数据 */
void mysqldb_update(MYSQL *mysql, char *field_name, int score)
{  
    int t;
    char *head = "UPDATE ";
    char query[100];

    sprintf(query, "%s%s SET %s=%d", head, TABLE_NAME, field_name, score);
    printf("%s\n", query);

    t = mysql_real_query(mysql, query, strlen(query));
    if (t) {  
        printf("Failed to update: %s\n", mysql_error(mysql));  
        return;
    }
    printf("\nUpdate data sucessfully!\n");
}

/* 查询数据 */
void mysqldb_query(MYSQL *mysql)  
{  
    int t;
    char *head = "SELECT * FROM ";
    char query[50] = {0};
    MYSQL_RES *res;
    MYSQL_ROW row; 

    sprintf(query, "%s%s", head, TABLE_NAME);

    t = mysql_real_query(mysql, query, strlen(query));  

    if (t) {
        printf("Failed to query: %s\n", mysql_error(mysql));  
        return;
    } else {
        printf("\nQuery successfully!\n");  
    }

    res = mysql_store_result(mysql);
    while (row = mysql_fetch_row(res)) {  
        for(t = 0; t < mysql_num_fields(res); t++) {  
            printf("%s\t", row[t]);  
        }  
        printf("\n");
    }  
    mysql_free_result(res);
} 

/* 断开mysql连接 */ 
void close_connection(MYSQL *mysql)
{
    mysql_close(mysql);
}

int main(int argc, char *argv[])
{  
    // 准备一组数据
    int number = 1;
    int grade = 1;
    char sex[] = "male";
    int score = 100;

    // 初始化mysql
    MYSQL *mysql = mysql_init(NULL);           
    if (!mysql) {
        printf("\nMysql init failed.\n");
    }

    // 连接MYSQL
    mysqldb_connect(mysql);

    // 插入数据
    mysqldb_insert(mysql, number, grade, sex, score);

    // 更新数据
    mysqldb_update(mysql, "score", 99);

    // 查询数据
    mysqldb_query(mysql);

    // 删除数据
    mysqldb_delete(mysql, "number", number);

    // 断开连接
    close_connection(mysql);

    return 0;  
}

特别感谢

https://blog.csdn.net/qq_34115899/article/details/81190461?
https://blog.csdn.net/weixin_35555531/article/details/113122828?
https://www.cnblogs.com/DKYcaiji/p/15676625.html

标签:数据库,MySQL,char,吴龙灿,mysql,第十四章,query,MYSQL,20201306
From: https://www.cnblogs.com/wulongcan20201306/p/16893799.html

相关文章

  • 《信息安全与设计》第十四章学习笔记
    MySQL数据库系统知识点MySQL简介1.MySQL是一个关系数据库系统在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。......
  • 第十四章学习笔记
    第十四章MySQL数据库系统1.MySQL介绍MySQL是一个关系数据库系统在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关......
  • 第十四章学习笔记
    第十四章学习笔记第十四章MySQL数据库系统1.MySQL介绍MySQL是一个关系数据库系统在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可......
  • 20201208史逸霏第十四章学习笔记
    第14章:MySQL数据库系统知识点归纳总结:本章讨论了MySQL关系数据库系统;介绍了MySQL并指出了它的重要性;MySQL简介MySQL是一个关系数据库系统在关系数据库中,数据存储在......
  • 20201306吴龙灿第十三章学习笔记
    知识点归纳第十三章TCP/IP和网络编程学习目标通过本章的学习,了解TCP/IP协议及其应用,包括TCP/IP协议栈,ip地址,主机名,DNS,IP数据包和路由器;理解TCP/IP协议簇中的UDP和TCP......
  • 20201306吴龙灿第十二章学习笔记
    知识点归纳1.块设备I/O缓冲区什么是块设备:块设备是i/o设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬......
  • 20201306吴龙灿第五章学习笔记
    Ⅰ知识点归纳一、硬件定时器定时器是由时钟源和可编程计数器组成的硬件设备。时钟源通常是一个晶体振荡器,会产生周期性电信号,以精确的频率驱动计数器。硬件定时器能够按......
  • 【考点15】第十四章: 程序设计基础
    【考点1】程序设计方法与风格形成良好的程序设计风格需注意:    1、源程序文档化;    2、数据说明的方法;    3、语句的结构;     4、输入和输出。  【考......
  • 20201306吴龙灿第四章学习笔记
    知识点归纳前言学习了解并发编程的概念,理解并行计算的概念和重要性;掌握线程的原理和其对于进程的优势。通过学习Pthread线程操作,了解如何使用线程进行并发编程;理解死锁问......
  • 20201306吴龙灿第三章学习笔记
    目录Ⅰ知识点归纳1.进程的概念·什么是进程?·进程的特征动态性并发性独立性异步性结构性·程序和进程主要区别2.多任务处理系统(1)背景(2)多任务处理系统代码介绍3.进程同步(1)同......