创建表: create table if not exists tbname(id int, name varchar(32), sex bit, score 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);
表中数据的操作:增删改查 1.新增: insert tbname(id, name, sex) values(null, “张三”, 0); insert tbname values(null, “李四”, 1, 88.88, “2020-10-8 12:00:00”); 2.删除: delete from tbname where id=2; 3.修改: update tbname set score=66.78, birth=" 2020-8-621:00:00" where id=1; 4.查询: .查询表中所有数据: select * from tbname;
接口介绍: MYSQL *mysq| = NULL; MYSQL *mysql init(MYSQL mysq); MYSQL mysql real connect(MYSQL *mysq|, char *host, char *user, char *passwd, char *dbname, int port, char *sock, int flag) mysql:初始化完成的句柄; host: mysql服务器IP地址 username:用户名; passwd:密码 dbname:默认所选择使用的数据库名称 port: mysql服务端口-0-默认3306; flag:客户端标志–通常置0 返回值:成功返回句柄地址,失败返回NULL int mysql set character set(MYSQL *mysql, char *name); mysql:句柄; name: 字符集名称-utf8 返回值:成功返回0;失败返回非0; int mysql select db(MYSQL *mysql, char *dbname) mysql:句柄; dbname:要切换的数据库名称 返回值:成功返回0;失败返回非0; int mysql query(MYSQL *mysql, char *sql); mysql:句柄; sql:要执行的sql语句 返回值:成功返回0;失败返回非0 MYSQL RES *mysql store result(MYSQL *mysq|); 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 **