服务器与网站,c 在线视频网站开发,wordpress登录才可访问,渭南市网站建设连接数据库 mysql -uroot -p 密码#xff1a;空 一、第三方库#xff1a;MySQL
数据库-存储并管理数据的仓库#xff0c;是一个C/S架构 MySQL客户端通过sql来告诉MySQL服务器#xff0c;自己需要做什么操作
1.sql语句
sql#xff1a;structure query language结构化查询… 连接数据库 mysql -uroot -p 密码空 一、第三方库MySQL
数据库-存储并管理数据的仓库是一个C/S架构 MySQL客户端通过sql来告诉MySQL服务器自己需要做什么操作
1.sql语句
sqlstructure query language结构化查询语言
sql语句应该以英文封号作为结尾
sql语句不区分大小写
sql语句尽量避免使用关键字作为库或者表或者字段的名称
1.1库的操作
创建create database ct;
查看所有库show databases;
选择操作的库use ct;
查看当前所选操作的库select database();
删除库delete database ct;
1.2MySQL中的数据类型
int整型
decimal(M,D)浮点型
varchar(len)字符串类型
datatime日期类型
1.3表的操作
创建create table student(sn int , name varcher(32) , age int );
查看库中所有表show tables
查看表结构desc student
删除表drop table student
1.4表中数据的操作
新增
insert student values(1,张三,18);
数据位置一定跟表中字段一致不能错位或缺少
查询
全字段查询select * from student;
指定字段查询select sn , name from student;
条件查询select *from student where name 张三;
修改
注意修改的时候一定要设置过滤条件否则针对的是表中的所有元素
update student set name 李四 where name 张三
删除
delete from student where name 张三
二、MySQL客户端
主要了解的是MySQL开发包中的api接口
1.初始化MySQL操作句柄
MYSQL *mysql_init(MYSQL *mysql);
对传入的句柄进行初始化
若传入的句柄为NULL则内部会动态申请空间进行初始化并返回句柄首地址
返回值若失败则返回NULL
2.连接MySQL服务器
MYSQL *mysql_real_connect(MYSQL *mysql, char *host , char *user , char *pass , char *dbname, int port , char *unix_socket , int client_flag)
mysql初始化完成的mysql句柄
host用户名
pass密码
dbname要操作的库名称
port端口默认0为3306端口是mysql服务的端口
unix_socket套接字或管道文件名-通常置NULL
client_flag客户端的操作标志通常置0
返回值成功返回句柄首地址失败返回NULL
3.设置客户端字符集通常与服务器保持一致使用utf8
int mysql_set_character_set(MYSQL *mysql , char * name);
mysql操作句柄
name字符集名称通常是“utf8”
返回值成功返回0失败返回非0
4.选择要操作的数据库切换操作的库
int mysql_select_db(MYSQL *mysql , char * dbname);
5.将sql语句发送给服务器并执行sql语句
int mysql_query(MYSQL *mysql , char * sql);
mysql操作句柄
sql对数据库中的数据进行的操作的sql语句
返回值成功返回0失败返回非0
语句有没有执行成功决定了当前的操作是否完成
6.查找操作
因为增删改只要语句执行成功就OK但是如果是查询语句因为查询的话语成功执行还需要获取查询的结果。
6.1将查询的结果保存到本地
MYSQL_RES *mysql_store_result(MYSQL * mysql);
mysql操作句柄
返回值成功返回结果集的首地址失败返回NULL
将结果集保存到本地与执行语句这一步操作如果使用的是一个操作句柄就会发生线程安全问题
6.2获取结果集的行数和列数
int mysql_num_rows(MYSQL_RES *res);//获取结果行数
int mysql_num_fields(MYSQL_RES *res);//获取结果列数
6.3遍历结果集逐条取出数据
MYSQL_ROW mysql_fetch_row(MYSQL_RES *res);
这个函数或者说res内部记录了当前的读写位置只需要不断的调用就可以逐条取出数据。
这个返回值是给字符指针数组char *arr[] 将一行中的多列进行扁平化存储每一个元素都是一列数据。
6.4释放结果集
int mysql_free_result(MYSQL_RES *res);
7.关闭客户端连接释放句柄
int mysql_close(MYSQL *mysql);2