mysql数据库
一、数据库
1. 数据库概念
数据库 :是存放数据的仓库(文件),它是一个按数据结构来存储和管理数据的计算机软件系统。
数据库管理系统 : 是数据库系统的核心组成部分,主要完成对数据库的操作与管理功能,例如实现数据的存储,查询,修改,删除,及数据库用户的管理,权限管理等。
RDBMS : 关系数据库管理系统(Relational Database Management System)。
关系型数据库 :指采用了关系模型来组织数据的数据库,关系模型就是指二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
SQL : 结构化查询语言(Structured Query Language).
mysql数据库是一种C/S模型(即客户端和服务端模型),客户单通过用户名,密码登录连接服务器。连接成功后才可以进行数据库的操作(增删改查)。
客户端连接上服务器通过SQL语句操作数据库。
mysql数据库可以有多个,它们是并列的;最终的数据存放在数据表中。
数据库存放在磁盘上, 相当于一个文件。
mysql使用的端口是:3306 , 使用TCP连接进行通讯。
2. 数据库分类
关系型数据库 :指采用了关系模型来组织数据的数据库,关系模型就是指二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
关系型数据库核心元素:数据行(一条记录),数据列(字段), 数据表(数据行的集合),数据库(数据表的集合)。
关系型数据库产品: oracle , mysql, sqlite ,DB2, Microsoft Sql Server。
非关系型数据库(nosql) : 指非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。
非关系型数据库以键值对存储,且结构不固定。(ACID,指 原子性,一致性,隔离性,持久性)。
非关系型数据库产品: memcache , redis , mongodb, hbase。
二、安装mysql
1.安装mysql
安装前首先切换到管理员身份,
两种安装方式:
- 从官网下载安装包;
- 执行命令,apt install mysql-sever。
2. 数据库服务启动停止
2.1检查服务器状态,
命令为:service mysql status
默认状态:运行状态。
重启: root@stu-virtual-machine:/home/stu# service mysql restart
停止: root@stu-virtual-machine:/home/stu# service mysql stop
启动: root@stu-virtual-machine:/home/stu# service mysql start
2.2连接数据库命令 : mysql -uroot -p
2.3查看用户信息
mysql> select user,host,plugin from mysql.user;
2.4更新用户密码
指定加密方式,注意密码强度大小写数字
ALTER user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘111111’;
root % 远程登陆
root localhost 本地登录
三、数据库基本操作
1. 数据库的登录及退出
1.1连接数据库:
mysql -u用户名 -h主机地址(省略代表本机) -p密码。
1.2退出数据库的三种方式:
exit
quit
ctrl+d
2. 查看所有数据库
命令:show databases; 要注意所有sql语句结尾都有 ‘;’分号
3. 显示数据库版本
select version();
4. 显示时间
select now();
5. 创建数据库
create database 数据库名 默认utf8mb4
create database 数据库名 charset=utf8; 创建数据库可以存储中文
6. 查看创建数据库的语句
show create database 数据库名
7. 查看当前使用的数据库
查看当前使用的是哪个数据库 :select database();
如果为null代表没有选择使用的数据库。
8. 查看当前用户
查看当前登录的是哪个用户:select user();
9. 使用某个数据库
登录到mysql后,里面创建有很多数据库,选择要使用的某一个数据库: use 数据库名
10. 删除数据库
删除数据库: drop database 数据库名
四、数据表的操作
1. 查看当前数据库中所有表
show tables;
2. 创建表
创建表时,需要指定各个字段的类型。
创建表的命令 : create table 数据库表名字 ( 字段 类型 约束 [, 字段,类型 约束] ); 中括弧中的可以省略。
五、安装c/c++开发库
1.安装开发c/c++的库
命令:apt install libmysqlclient-dev
2.测试c语言连接数据库
这里连接’c215’库,没有自己创建。
#include<stdio.h>
2 #include<stdlib.h>
3 #include<mysql/mysql.h>
4 #include<unistd.h>
5
6 int main()
7 {
8 MYSQL mysql;
9 if(mysql_init(&mysql)==NULL)
10 {
11 printf("mysql init failed\n");
12 exit(0);
13 }
14
15 if (mysql_real_connect(&mysql,"127.0.0.1","root","111111","c215",3306,NULL,0)==NULL)
16 {
17 printf("mysql 连接失败\n");
18 }
19 else
20 {
21 printf("mysql 连接成功\n");
22 }
23
24 mysql_close(&mysql);
25 exit(0);
26 }
27
编译时,需要指定 -l指定mysqlclient这个库。