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);
//连接到mysql
if(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);
}
}
};