码迷,mamicode.com
首页 > 数据库 > 详细

mysql的快速入门

时间:2018-08-25 21:51:57      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:字符   key   简单   databases   存储   ibm   语言   bin   arch   

最近想使用c语言写一个聊天的系统,所以看了一看mysql。看到过程中不断的总结,就写了一些东西。

说明一下,我使用的系统是ubuntu18.04,

linux下mysql的安装和使用

1.安装
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
使用这三条命令安装,什么含义?
第一个是mysql的服务器
第二个是mysql的客户端
第三个是mysql的c语言库.安装之后的位置在/usr/include/mysql/下面


2.连接数据库
mysql -h主机地址 -u用户名 -p用户密码
mysql -h localhost -u root -p


3.数据库的简单操作

    # whereis mysql  查看文件安装路径
    # which mysql     查询运行文件所在路径(文件夹地址)
    usr/bin/mysql 是指:mysql的运行路径
    var/lib/mysql 是指:mysql数据库文件的存放路径
    usr/lib/mysql 是指:mysql的安装路径

4.数据库的相关操作

 (1).数据库的操作
    查看数据库
    show databases;(mysql必须使用分号结尾);
    创建数据库
    create database mydata;
    删除数据库
    drop database mydata;
    使用某个数据库
    use mydata;    
 (2).数据库中表的创建、增加、删除、修改
    建立一个表
    create table mytable
    (                                                   //使用圆括号
        id int auto_increment not null primary key,     //整型、自增、不为空、主键
        name varchar(20),                                 //字符串20个。
    );    
    插入数据
    insert mytable value(123,"qiny");                   //设置第一个id的值,id为自增的
    insert mytable(name) value("hello");                 //有选择的添加数据
    insert mytable(name) values("dxx"),("xiin");        //批量添加数据
    删除表格
    drop table mytable;                                 //删除表格
    删除表格的一行数据
    delete from mytable where id = 123;
    修改表格的属性值                                    //修改表的属性包括增加属性,删除属性,修改属性
    alter table mytable
    add age int not null,             
    drop name,
    modify id int not null primary key auto_increment,
    修改表格的数据
    update mytable set name = ‘nxnn‘ where id = 123;

 (3)数据库的查询(常见)
    select * from student;        
    select name,id from student;
    select * from student where id = 123;
    select count(*),avg(score),sum(score) from student group by age;
    select * from student order by id desc | asc;

 (4)其他
    查看表的构造
    deac mytable;
    
5.数据库的权限管理(不知道为什么没有成功)
 (1)创建一个用户
    CREATE USER ‘qiny‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
    create user ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘;
 (2)分配权限
    GRANT ALL PRIVILEGES ON *.* TO ‘qiny‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
    GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘;
 (3)移除权限
    EVOKE ALL PRIVILEGES ON *.* FROM ‘username‘@‘localhost‘;

6.c语言连接mysql
 (1)安装msyql的库文件
    编译方式:gcc xxx.c -o target -lmysqlclient
    其中-lmysqlclient的含义是使用mysqlclient的动态库文件。
 (2)使用mysql的库函数(相关函数参考mysql.h或者网上搜索)
    MYSQL * conn; //创建一个mysql的数据库连接指针
    conn = MSYQL_init(NULL); //初始化这个数据库连接指针
    conn = mysql_real_connect(conn,"localhost","qiny","password","test",0,NULL,0);//连接数据库,其中第一个参数是数据库连接指针,第二个参数是地址,第三个参数是用户名,第四个参数是密码,第五个参数是数据库的名称。
    mysql_query(conn,sql);//向数据库发出查询请求。
    MYSQL_RES * res_ptr = mysql_store_result(conn);    //建立一个数据存储区域,接受查询的结果。
    int column = mysql_num_fields(res_ptr);//获取数据库表的列数。
    int row = mysql_num_rows(res_ptr);//获取数据库表的行数。
    MYSQL_FIELD * field = mysql_fetch_field(res_ptr);//获取数据库返回值表的列名。
    MYSQL_ROW * mysql_row = mysql_fetch_row(res_ptr);//获取数据库中的一行数据 。


    

    
    
    
    
    
    
    
        


























 

mysql的快速入门

标签:字符   key   简单   databases   存储   ibm   语言   bin   arch   

原文地址:https://www.cnblogs.com/qiny1012/p/9535438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!