Linux-MYSQL

1.C语言连接mysql,读,写

2.视图,索引,事务

端口:3306

一.基本操作

1.源码安装
2.命令安装 :sudo su -> apt install mysql-server

查看进程是否再运行 service mysql status

停止数据库运行:service mysql stop

数据库开始运行:service mysql start

重启:service mysql restart

3.关系型数据库:

用关系模型(二位表格)组织数据的数据库

4.非关系性数据库:

非关系型的,分布的的数据库

5.安装后第一次登录:

sudo su ->mysql -uroot -p

6.更改密码:

ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

7.远程登录:

在windows上装mysql的客户端的前提:mysql -uroot -hip地址 -p

7.1条件:

1.创建原创登录的用户

2.修改mysql配置文件,允许远程连接

8.创建远程登录用户:

create user 'root'@'%identified WTTH mysql_native_pasword by '111111;

9.查看用户和登录方式:

select user,host from mysql.user;

二.命令

1.show databases ; 显示数据库库

2.select version(); 显示当前版本

3.select now(); 显示时间

4.create database 数据库名5; 创建数据库

5.show create database 数据库名5; 查看创建三数据库时的命令

三.C语言链接数据库

1.链接数据库

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

int main()
{
    MYSQL mysql_con;//连接句柄

    MYSQL * mysql = mysql_init(&mysql_con);
    if( mysql == NULL)
    {
        printf("mysql init err\n");
        exit(1);
    }

    if ( mysql_real_connect(mysql,"127.0.0.1","root","123456","c2208db",3306,NULL,0) == NULL)
    {
        printf("connect err\n");
        exit(1);
    }

    printf("连接成功\n");
    //char* sql = "insert into student values(1003,'小李',33)";
    //char* sql = "update student set age=99 where id=1003";
    char* sql = "delete from student where id=1003";
    if ( mysql_query(mysql,sql) != 0 )
    {
        printf("执行sql语句失败\n");
    }

    mysql_close(mysql);
    exit(0);

}

2.增加访问

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

int main()
{
    MYSQL  mysql_con;
    MYSQL * mysql = mysql_init(&mysql_con);
    if ( mysql == NULL )
    {
        printf("mysql init err\n");
        exit(1);
    }

    if ( mysql_real_connect(mysql,"127.0.0.1","root","123456","c2208db",3306,NULL,0) == NULL )
    {
        printf("connect err\n");
        exit(1);
    }

    printf("连接成功\n");

    char * sql = "select name from student where age < 18";
    if ( mysql_query(mysql,sql) != 0 )
    {
        printf("query err\n");
        mysql_close(mysql);
        exit(1);
    }

    MYSQL_RES * r = mysql_store_result(mysql);
    if ( r == NULL )
    {
        printf("获取结果集失败\n");
        mysql_close(mysql);
        exit(1);
    }

    int num = mysql_num_rows(r);
    
    if( num == 0)
    {
        printf("没有记录\n");
    }
    else
    {
        printf("有%d条记录\n",num);
    }
   
    int count = mysql_field_count(mysql);
    printf("列数:%d\n",count);

    for(int i = 0; i < num; i++ )
    {
        MYSQL_ROW row = mysql_fetch_row(r);
        for(int j = 0; j < count; j++)
        {
            printf("%s  ",row[j]);
        }
        printf("\n");
    }

    mysql_free_result(r);
    mysql_close(mysql);
    exit(0);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果蛋蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值