ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

点餐系统-mysql

2021-08-12 15:32:36  阅读:324  来源: 互联网

标签:-- mysql 系统 tbname MYSQL 点餐 id select


joncpp基本应用认识:

      Json::Value类 :  json与外界进行数据中转的一个对象类

               重载了大量的操作符 :  赋值运算符

               包含了大量的类型转换函数 :  

      Json::Reader类 :  实现反序列化, 

               将json格式字符串转换为多个数据对象,  存储在Json::Value对象中

      Json::Writer类 :  实现序列化, 

               基类 -- 子类 :  Json::FastWriter / Json::StyledWriter

               将Json::Value对象中的数据序列化成为ison格式的字符串

 

 

mysql数据库的基本操作 :  SQL

客户端操作 :  mysql -uroot -p

sql语句注意事项 : 

             1. sql语句中,  每条语句都应该以 ; 结束

             2. sql语句中不区分大小写

             3. sql语句中,  数据库名称,  表名称,  字段名称不能直接使用sql关键字

    库的操作 :

             1. 创建数据库 :  create database dbname(数据库名称);

                                      create database  if not exists dbname;(如果没有重复的数据库就创建)

 

             2. 查看所有数据库 :  show databases;

             3. 选择所使用的数据库 :  use dbname;

             4. 查看所使用的数据库 :  select database();

             5. 删除数据库 drop database dbname;

     表的操作 :

             常用数据类型 :  int--整形,     decimal(m,d)--浮点型--m表示总位数,d表示小数点后位数,

                                      varchar(255)--字符,限制最多255个字符,可改变,   datetime--日期类型

           创建表:

                 create table if not exists tbname( id int, name varchar(1024), sex bit, socre decimal(4,2), birth datetime);

           查看所有表:show tables;          

           查看指定表结构:desc tbname;

           删除表:drop table tbname;

表中的约束字段

       主键约束:primary key       约束指定字段的值 -- 非空且唯一

       唯一约束:unique key        约束指定字段必须唯一

       非空约束:not null              约束指定字段的值不能为NULL

       自增属性:auto increment   (只能用于整形的主键字段)

                  create table if not exists tbname(id int primary key auto_increment, name varchar(32) not null unique,

                                                                         sex bit, score decimal(4,2), birth datetime );

 

 表中数据的操作 :  增删查改

                 查看表中信息 :  select * from tbname;

                 新增 :

                         insert tbname(id,name,sex) values(null,"张三",0);

                         insert tbname values(null,"李四",1,88.88,"2020-10-8 12:00");

                 删除 :

                        delete from tbname where id=2;      (不加where id=2,  将全部删除)

                 修改:f

                        update tbname set score=66.78,birth="2021-8-6 21:00" where id=1;

                 查询:

                        查询表中所有数据--select * from tbname;

                        指定列查询--select id, name, score from tbname;

                        按升序排序--select id, name, score from tbname order by id;

                        按降序排序--select id, name, score from tbname order by id desc;

                        分页查询--select * from tbname order by id desc limit 3 offset 3;

                        条件查询-select * from tbname where score<70;

                                       select * from tbname where score<90 and score>70;

                                       select * from tbname where id between 2 and 5;

                                       select * from tbname where id in(1,3);

                                       select * from tbname where sex is null;

                                       select * from tbname where sex is not null;

                                       select * from tbname where name like "张%";

                                       select * from tbname where name like "%四%";

                       数据库的导入:mysql -uroot -p <db.sql

 

mysql 代码操作:

初始化操作:

   1.初始化操作句柄

   2.通过句柄连接mysql数据库

   3.设置客服端字符集(utf8)

   4.选择使用的数据库

数据操作:

    5.执行语句:

     增删改:  执行语句 -- 执行语句成功即可

     查询:  执行语句 --

            将查询结果获取到本地

            获取结果中数据的条数和列数

            遍历结果集获取每条数据的每一列                                                                                      

            释放本地结果集

     6.关闭句柄释放资源

     7.获取接口执行失败原因

 

接口介绍

1.初始化操作句柄

MYSQL *mysql_init(MYSQL *mysql);

2.通过句柄连接mysql数据库

MYSQL *mysql_real_connect(MYSQL *mysql, char *host, char *username,

                       char *passwd, char *dbname, int port, char *sock, int flag)

mysql:  初始化完成的句柄;           host:  mysql服务器ip地址

username:  用户名;                      passwd:  密码

dbname:  默认所选择的数据库名称     

port:  mysql服务端口 - 0 - 默认3306

sock:  socket文件,  通常置NULL

flag:  客户端标志 -- 通常置0

返回值:  成功返回句柄,  失败返回NULL

3.设置客服端字符集(utf8)

int mysql_set_character_setr(MYSQL *mysql, char *name);

mysql:  句柄                name:  字符集名称 -- utf8

返回值:  成功返回0,  失败返回非0

4.选择使用的数据库

int mysql_select_db(MYSQL *mysql,char *dbname)

mysql:  句柄                     dbname:  要切换的数据库名称

返回值:  成功返回0   失败返回非0

5.执行语句

(增删改)

int mysql_query(MYSQL *mysql,char *sql)

mysql:  句柄                    sql:  要执行的sql语句

返回值:  成功返回0,  失败返回非0

(将查询结果获取到本地)

MYSQL_RES *mysql_store_result(MYSQL *mysql)

mysql:  句柄

   特殊说明:  mysql_query与mysql_store_result存在线程安全问题

返回值:  成功返回结果集的地址;    失败返回NULL

(获取结果中数据的条数和列数)

int mysql_num_rows(MYSQL_RES *res)   -- 获取行数

int mysql_num_fields(MYSQL_RES *res)  -- 获取列数

(遍历结果集获取每条数据的每一列)

MYSQL_ROW mysql_fetch_row(MYSQL_RES *res);

      MYSQL_RES res中会记录当前获取的位置,  逐条取出

      MYSQL_ROW:  就是一个char**

(释放本地结果集)

int mysql_free_result(MYSQL_RES *res);

6.关闭句柄释放资源

int mysql_close(MYSQL *mysql);

7.获取最近一次操作失败原因

char *mysql_error(MYSQL *mysql);

 

标签:--,mysql,系统,tbname,MYSQL,点餐,id,select
来源: https://www.cnblogs.com/enjoyC/p/14879910.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有