Linux---C语言连接数据库(1)
8:20
书:mysql数据库,Linux程序设计中文第4版
工具书:mysql必知必会
mysql数据库
数据库:是存放数据的仓库,是一个按数据结构来存储和管理数据的计算机软件系统,本质上是存放在磁盘上的文件
数据库管理系统:是数据库系统的核心部分,主要完成对数据库的操作与管理功能
RDBMS:关系数据库管理系统
SQL:结构化查询语言
数据库分类:
(1)关系型数据库
采用了关系模型来组织数据的数据库,关系模型就是指二维表格模型,而一个关系模型数据库就是由二维表及其之间的联系所组成的一个数据组织
核心元素:数据行(一条记录),数据列(字段),数据表(数据行的集合),数据库(数据表的集合)
产品:oracle,mysql,DB2
(2)非关系型数据库
非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。非关系型数据库以键值对存储,且结构不固定(ACID:指原子性,一致性,隔离性,持久性)
产品:redis
mysql数据库是一种C/S模型(即客户端和服务端模型),客户端通过用户名(增删改查)
(1)数据库的构成:
数据文件,存在磁盘上
数据库管理系统
(2)C/S 服务器 客户端,(通过客户端连接服务器)tcp连接
(3)数据库可以创建多个
安装:
sudo su
// 安装mysql
apt install mysql-server
// 安装C/C++开发库
apt install libmysqlclient-dev
// 检查服务器状态
service mysql status/systemctl status mysql.service//重启|停止|启动
service mysql restart
service mysql stop
service mysql start// 连接数据库,此处的mysql为客户端
mysql -uroot -p//查看数据库的命令
show databases;
use mydb;
show tables;
quit//更新用户密码
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password 'Iabc_123456';
service mysql restart
使用数据库:
(1)首先,要启动数据库服务(先把tcp服务端运行起来)
mysql使用的端口号:3306
(2)通过客户端连接数据库
(1)mysql刚装好,root用户没有设置密码,此时可以直接登录
Linux系统管理员:root
mysql数据管理员:root
同名
(2)
普通用户身份下执行:
mysql -uroot -p
数据库的基本操作:
(1)数据库的登录及退出
mysql -u用户名 -h主机地址(省略代表主机) -p
mysql -uroot -p
退出
exit
quit
ctrl+d
(2)查看所有数据库
show database;
(3)显示数据库版本
select version();
(4)显示时间
select now();
(5)创建数据库
create database 数据库名
create database 数据库名 charset=utf8;
(6)查看创建数据库的语句
show create database 数据库名
(7)查看当前使用的数据库
select database();
数据表的操作:
(1)查看当前数据库中所有表
show table;
(2)创建表
字段名 类型 约束
create table 数据库名字(字段 类型 约束[,字段,类型,约束]);
create table student(id int,name varchar(20),int age);
insert into student values(1001,"小白",18);
select * from student;
约束:
主键 primary key:物理上存储的顺序
非空not null:此字段不允许填写空值
唯一unique:此字段的值不允许重复
默认default:当不填写此值时,会使用默认值。如果填写时,以填写的值为准
外键:
auto_increment:表示自动增长
// 安装C/C++开发库
apt install libmysqlclient-dev
#include<stdio.h>
#include<mysql/mysql.h>
int main()
{MYSQL connect;//mysql连接对象mysql_init(&connect);//连接到mysqlif(mysql_real_connect(&connect,"localhost","root","111111","test",0,NULL,0)){printf("连接mysql成功\n");}else{printf("err:%s\n",mysql_error(&connect));printf("连接mysql失败\n");}//关闭mysql连接mysql_close(&connect);return 0;
}
gcc -o mysqltest mysqltest.c -lmysqlclient
int main()
{MYSQL mysql_con;if(mysql_init(&mysql_con) == NULL){printf("mysql init err\n");exit(1);}if(mysql_real_connect(&mysql_con,"localhost","root","Abc_111111","C210db",3306,NULL,0)==NULL){printf("connect mysql err\n");}else{printf("connect success\n");}char *sql = "insert inro student values(1002,'小王',16)";if(mysql_query(&mysql_con,sql) != 0){ printf("query sql error\n");}mysql_close(&mysql_con);
}
gcc -o main main.c -lmysqlclient
./main
1.简历不用写教育背景,改成经历
C++熟悉度,系统适用东西,自己做的过程
自己的特长放大,
class Solution {
public:bool isSameTree(TreeNode* p, TreeNode* q) {if (p == nullptr && q == nullptr) {return true;} else if (p == nullptr || q == nullptr) {return false;} else if (p->val != q->val) {return false;} else {return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);}}
};
= nullptr) {
return true;
} else if (p == nullptr || q == nullptr) {
return false;
} else if (p->val != q->val) {
return false;
} else {
return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}
}
};
Linux---C语言连接数据库(1)相关推荐
- 在 Ubuntu 上通过命令行改变 Linux 系统语言
这是一个快速教程,展示了在 Ubuntu 和其他 Linux 发行版上从命令行改变语言的步骤. 事实上,我一直在写西班牙语的文章.如果你没有访问过它并且/或你是一个讲西班牙语的人,请访问 It's F ...
- 连接mysql语言_杂谈各个语言连接数据库如何实现的-第一讲
我们都知道各个语言连接数据库都有封装好的API.比如操作MySQL,php有pdo,mysqli等,java有jdbc,c#有mysql-connector-net,nodejs也有mysql的驱动. ...
- Linux C语言调用C++动态链接库
Linux C语言调用C++动态链接库 标签: C调用C++库 2014-03-10 22:56 3744人阅读 评论(0) 收藏 举报 分类: [Linux应用开发](48) 版权声明:本文为博主原 ...
- JDBC(Java语言连接数据库)
JDBC(Java语言连接数据库) JDBC本质 整体结构 基层实现过程(即用记事本而不是idea) 第一种实现方式 第二种实现方式 乐观锁和悲观锁 乐观锁 悲观锁 JDBC本质 整体结构 基层实现过 ...
- linux C语言多线程库pthread中条件变量的正确用法逐步详解
linux C语言多线程库pthread中条件变量的正确用法: 了解pthread常用多线程API和pthread互斥锁,但是对条件变量完全不知道或者不完全了解的人群. 关于条件变量的典型应用,可以参 ...
- linux C 语言的 system
linux C 语言的 system是用来在程序中执行shell命令. 使用方法 #include<stdlib.h> //函数形式 int system(const char * str ...
- 嵌入式linux寄存器位运算,嵌入式linux C语言(一)――位运算的使用
嵌入式linux C语言(一)――位运算的使用 ARM是内存与IO统一编址,SoC中有很多控制寄存器,通过对这些寄存器进行位运算对这些控制寄存器进行设置,进而控制外设功能.在修改寄存器某些位的过程中不 ...
- Linux C语言磁盘U盘容量读取、目录列表读取、文件夹大小读取
Linux C语言磁盘U盘容量读取.目录列表读取.文件夹大小读取C语言源代码 #include <stdio.h> #include <sys/statfs.h> #inclu ...
- L1D1:嵌入式Linux C语言开发工具及基础命令
嵌入式Linux C语言开发工具及基础命令 一.ubuntu环境搭建 请自行准备VMware workstation15安装包 及 ubuntu18.04.iso镜像文件.可参考链接:VMware W ...
- linux c语言 select函数用法
原文地址:点击打开链接 linux c语言 select函数用法 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 co ...
最新文章
- 华人一作登ICCV 2021,实时超分新SOTA!AutoML显神威:1%参数量,超清视频70倍加速...
- 【题型探究】公约数之和
- 中国工程院院士陈左宁详述:人工智能模型和算法的七大发展趋势
- 关于AutoResetEvent 和ManualResetEvent
- 【动态规划】分组背包 (ssl 2291)
- html动态网页效果代码_教你制作网页的第一步
- [Luogu] P1939 【模板】矩阵加速(数列)
- 两个苹果手机如何同步数据_同步苹果手机和Windows的提醒事项
- Mac如何快速导出保存Pages文档里的图片
- 你还在抱怨开发工具,为什么不动手优化? | 人物志
- 毕业答辩之毕业设计答辩问题有哪些?
- c++使用unordered_map与map的区别
- Android MVP开发模式及Retrofit + RxJava封装
- 计算机类调研报告选题,大学生调研报告选题精选.doc
- three.js 源码注释(一)./Three.js
- C# 10分钟完成百度翻译(机器翻译)——入门篇
- 【区块链 | Compound】1.剖析DeFi借贷产品之Compound:概述篇
- 大型企业AD架构规划(三)
- 公司食堂-美团2021校招笔试(线性数据结构的应用)
- PKCS及PKCS 15个标准, Public-Key Cryptography Standards
热门文章
- win10-2016企业版长期服务版激活
- Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)
- ftp服务器连接数修改,ftp服务器连接数设置
- Neo4j的安装与配置
- 计算机专业加拿大名校录取要求,加拿大留学计算机专业 各名校的申请要求及不同费用...
- Android获取内置sdcard跟外置sdcard路径
- TLS1.3抓包分析(3)——EncryptedExtentions等
- 新浪微博API[赞]接口和[取消赞]接口
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛——C.面积【签到题】
- 轻蜗牛直租平台-天画项目简介