导航:首页 > 编程大全 > ubuntu访问数据库c

ubuntu访问数据库c

发布时间:2021-12-04 07:40:06

❶ 求教高人,linux下c语言如何连接mysql数据库啊,求高手给点资料,谢谢。

帮你一下吧,我只能粗写,你自己详细参考一下函数库,下面localhost,是数据库服务器的地址,
username,password分别为访问数据库所需要的用户名和密码,database是数据库的名称,请你参考MYSQL结构体以获取更加详细的参数信息
#include <stdlib.h>
#include<stdio.h>
#include "mysql.h"
int main(int argc,char**argv){
MYSQL *conn_ptr;
conn_ptr=mysql_init(NULL);
if(!conn_ptr){
fprintf(stderr,"mysql_init failed\n");
return EXIT_FAILURE;
}
conn_ptr=mysql_real_connect(conn_ptr,"localhost","username","password","database",0,NULL,0);
if(conn_ptr){
printf("Connection success\n");
}else{
printf("Connection failed\n");
}
mysql_close(conn_ptr);
return EXIT_SUCCESS;
}

❷ ubuntu下怎样操作mysql数据库

ubuntu下mysql的常用命令,MySQL数据库的基本操作命令

一、mysql服务操作
0、查看数据库版本 sql-> status;

1、net start mysql //启动mysql服务
2、net stop mysql //停止mysql服务
3、mysql
-h主机地址 -u用户名 -p用户密码 //进入mysql数据库
4、quit //退出mysql操作
5、mysqladmin -u用户名
-p旧密码 password 新密码 //更改密码
6、grant select on 数据库.* to 用户名@登录主机 identified by
"密码" //增加新用户
exemple:

例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作
(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据
库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to
test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant
select,insert,update,delete on mydb.* to test2@localhost identified by "";

二、数据库操作
1、show databases; //列出数据库
2、use
database_name //使用database_name数据库
3、create database data_name
//创建名为data_name的数据库
4、drop database data_name //删除一个名为data_name的数据库

三、表操作
1、show databases;//列出所有数据库

use 数据库名;
//到达某一数据库

show tables //列出所有表
create table tab_name(
id int(10)
not null auto_increment primary key,
name varchar(40),
pwd varchar(40)

) charset=gb2312; 创建一个名为tab_name的新表
2、drop table tab_name
删除名为tab_name的数据表
3、describe tab_name //显示名为tab_name的表的数据结构
4、show
columns from tab_name //同上
5、delete from tab_name //将表tab_name中的记录清空

6、select * from tab_name //显示表tab_name中的记录
7、mysqlmp -uUSER -pPASSWORD
--no-data DATABASE TABLE > table.sql //复制表结构

四、修改表结构

1、 ALTER TABLE tab_name ADD PRIMARY KEY (col_name)

说明:更改表得的定义把某个栏位设为主键。
2、ALTER TABLE tab_name DROP PRIMARY KEY (col_name)

说明:把主键的定义删除
3、 alter table tab_name add col_name varchar(20);
//在tab_name表中增加一个名为col_name的字段且类型为varchar(20)
4、alter table tab_name drop
col_name //在tab_name中将col_name字段删除
5、alter table tab_name modify col_name
varchar(40) not null //修改字段属性,注若加上not null则要求原字段下没有数据
SQL
Server200下的写法是:Alter Table table_name Alter Column col_name varchar(30) not
null;
6、如何修改表名:alter table tab_name rename to new_tab_name

7、如何修改字段名:alter table tab_name change old_col new_col varchar(40);
//必须为当前字段指定数据类型等属性,否则不能修改
8、create table new_tab_name like old_tab_name
//用一个已存在的表来建新表,但不包含旧表的数据

五、数据的备份与恢复
导入外部数据文本:

1.执行外部的sql脚本
当前数据库上执行:mysql < input.sql
指定数据库上执行:mysql [表名] <
input.sql
2.数据传入命令 load data local infile "[文件名]" into table [表名];

备份数据库:(dos下)
mysqlmp --opt school>school.bbb
mysqlmp -u
[user] -p [password] databasename > filename (备份)
mysql -u [user] -p
[password] databasename < filename (恢复)

❸ ubuntu怎么打开mysql数据库

一、mysql服务操作
0、查看数据库版本 sql-> status;

1、net start mysql //启动mysql服务
2、net stop mysql //停止mysql服务
3、mysql
-h主机地址 -u用户名 -p用户密码 //进入mysql数据库
4、quit //退出mysql操作
5、mysqladmin -u用户名
-p旧密码 password 新密码 //更改密码
6、grant select on 数据库.* to 用户名@登录主机 identified by
"密码" //增加新用户
exemple:

例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作
(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据
库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to
test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant
select,insert,update,delete on mydb.* to test2@localhost identified by "";

❹ 请教如何在ubuntu中进行mysql的C接口编程

手头没有现货哦看看参考手册章节-“API和库”,对你有帮助不...

❺ 在linux下使用C语言操作数据库有哪些方法

两种方法,一是自己设计表格式,并存储在相应文件中,然后读取;
第二种,利用已有的第三方哈希表数据库,比如qdbm,具体的编程可以参考相应数据库的帮助文档

❻ ubuntu下编译C语言链接数据库

clang++ -o a a.cpp -lmysqlclient

这个报错是因为没有加搜索路径所以找不到。必须用-L指定该动态库的搜索路径。
代码中用到了这个so的函数,编译的时候就必须链接这个文件。
不链接编译会报错。

❼ ubuntu下用C语言访问数据库出现‘mysql_init’未定义的引用的错误

只要libmysqlclient.so在/usr/lib/mysql 中,-L/usr/lib/mysql -lmysqlclient 就是link libmysqlclient.so
所以,你应该找一下libmysqlclient.so的安装位置,比如安装在/usr/lib/i386-linux-gnu
链接libmysqlclient.so,就是-L/usr/lib/i386-linux-gnu -lmysqlclient
另外,这种版编译出现的问题,权请贴出具体的输出,不要泛泛的讲。泛泛的讲别人根本不明白是那里出了问题。。。

❽ Ubuntu下Java程序如何连接MySQL数据库

linux ubuntu下用C连MySQL接数据mysql数据库的步骤如下:
1.安装mysql-server,在Ubuntu10.04下安装mysql-server-5.1,会自动安装mysql-client_5.1
sudo apt-get install mysql-server-5.1
2.C APIs包含在mysqlclient库文件中与MySQL的源代码一块发行,用于连接到数据库和执行数据库查询,因此需要安装libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
假定已安装成功,相关文件如下:
头文件在/usr/include/mysql目录下;
库文件在/usr/lib/mysql和/usr/lib目录下
3.启动和关闭mysql
启动mysql:sudo start mysql
关闭mysql:sudo stop mysql
使用ps aux |grep mysql 查看mysql启动状态
ps命令用于查看当前系统中运行的进程信息,命令格式:ps [选项]
常见参数:
-a 显示系统中所有进程,包括其他用户进程
-e 显示所有进程信息
-f 显示进程的所有信息
-l 显示长格式显示进程的信息
-r 只显示正在运行的程序
-u 以用户的格式显示进程信息
-x 显示所有终端上的进程信息
最常用的方法是ps aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。例如前面使用的ps aux |grep mysql
4.链接库时需要库文件,有静态库文件,也有动态库文件,也有名字相同的静态库文件和动态库文件,如何区分:
.o,.a,.so,.lo,.la后缀文件含义
.o: 编译的目标文件
.a: 静态库,其实就是把若干o文件打了个包
.so: 动态链接库(共享库)
.lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息
.la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息
la只有在用libtool编译应用程序或库时才用,即开发者只指明la文件,至于最终链接a还是so由libtool决定,不使用libtool的小程序用不上la。
5.连接MySql
a、连接到本机上的MYSQL:
首先打开终端窗口,再键入命令mysql -u root -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入
到MYSQL中了,MYSQL的提示符是:mysql>
b.修改密码,格式:mysqladmin -u用户名 -p旧密码 password 新密码
例1:给root加个密码ab12。首先打开终端窗口,然后键入以下命令:mysqladmin -uroot password ab12.(注:因为开始时root没有密码,所以-p旧密码一项就可以省略了)。
例2:再将root的密码改为djg345。 mysqladmin -uroot -pab12 password djg345 (注:u与root可以不用加空格,其它也一样)。
c、退出MYSQL命令: exit
6.增加新用户(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete privileges on *.* to "test1"@"%" Identified by "abc" with grant option; 但例1增加的用户是十分危险的,
你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by “abc”;如果你不想test2有密码,可再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by “”;
例3、远程登录:
a、默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉:
vi /etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1 <---注释掉这一行就可以远程登录了

b、允许远程登录后,还应设置远程登录权限:
mysql>grant all privileges on *.* to "root"@"%" identified by "123456" with grant option;
c、使修改生效:
mysql> flush privileges;
d、在另一台机器上远程登录(mysql所在机器地址:192.168.0.30):
mysql -h192.168.0.30 -uroot -p123456
e、如果仍不能登录,就把远程mysql关闭,之后重启
sudo stop mysql
sudo start mysql
7.显示命令:(注:下面来看看MYSQL中有关数据库方面的操作。注意:必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束)。
a、显示数据库列表:show databases; 刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
b、显示库中的数据表:use mysql; show tables;
c、显示数据表的结构:describe 表名;
d、建库: create database 库名;
e、建表: use 库名; create table 表名 (字段设定列表);
f、删库和删表: drop database 库名; drop table 表名;
g、将表中记录清空:delete from 表名;
h、显示表中的记录:select * from 表名;

阅读全文

与ubuntu访问数据库c相关的资料

热点内容
妖神记之叶紫芸被褥 浏览:781
word空格键biaoji 浏览:788
芭比之公主所有电影 浏览:242
网站放国外服务器一个月多少钱 浏览:427
一女多男的cp古言 浏览:73
hs光流法matlab代码 浏览:239
勾魂恶梦戴波波是谁 浏览:991
啄木鸟电影系列 浏览:44
word2007表格双线变单线 浏览:304
想读编程上什么大学 浏览:507
钉钉图片上传文件夹 浏览:186
求个能看那种的网址 浏览:768
国产影片中文字 浏览:110
主角叫叶尘的系统流小说 浏览:468
谁和她睡了没看懂 浏览:344
女胖胖演过电影 浏览:144
网络通信开发 浏览:185
什么网站看首饰好 浏览:758
ug10图框在哪个文件夹里 浏览:925
一个叫美娜的韩国电影 浏览:231

友情链接