ubuntu mysql 编程例子

来源:互联网 发布:docker hub php 编辑:程序博客网 时间:2024/05/01 20:14

本文的大部分示例来自《linux下的MySQL数据库编程》 赵廷涛等编著。

1、安装mysql

    简单安装:sudo apt-get install mysql-server-5.1

    更详细请参考这篇文章《用Ubuntu做WEB服务器相关设置》:http://www.cnblogs.com/lynch_world/archive/2011/04/14/2016412.html

2、链接mysql

    mysql  [-h host_name] [-u user_name] [-p password]

  其中参数-h后面要给出连接的数据库的IP地址或者域名、参数-u后面要给出登陆的用户名、参数-p表示登陆的密码。

  有时连接本机默认的MySql数据库服务器,则直接可以在命令行中输入如下简写形式:

  mysql -u root -p

  之后系统会提示你输入密码.

3、mysql的基本命令

  在mysql中,输入help或?命令,即可以查看mysql支持的内部操作命令。

  (1)显示数据库列表

    显示数据库列表命令比较简单,直接输入show databases即可。、

  (2)选择一个数据库

    选择一个数据库比较简单,使用use dbname,其中dbname为要选择的数据库名字。

  (3)查看一个数据库中的所有表。

    通过show tables,可以查看一个数据库中所有的数据库表。

4、mysql数据库操作示例。

  (1)创建公司数据库

    创建数据库的命令是create database dbname,其中dbname为数据库名,例如当前要创建的数据库名为company,因此要输入下面的命令。

    mysql>create database company;

  (2)创建员工信息表

    mysql>use company;

    mysql>create table worker (nid INT UNIQUE,name VARCHAR(20),address VARCHAR(200),salary float,level int);

  (3)插入基本数据

    向已经创建好的数据表中插入3条基本记录,SQL语句如下:

    mysql>insert into worker values(100,'tom','beijing',2000.0,0);

    mysql>insert into worker values(101,'jim','shanghai',2000.0,1);

    mysql>insert into worker values(102,'mali','shanghai',3000.0,2);

  (4)查询全部数据

    利用select语句查询全部记录。

    mysql>select * from worker;

  (5)删除其中一条记录

    mysql>delete from worker where nid=100;

  (6)更新其中一条记录

    公司中还存在一种情况,就是员工的职务变动,例如Jim的职务由一级调整到二级,他的收入也由2000.0元调整到3000.0元。

    具体的SQL语句如下:

    mysql>update worker set level =2,salary =3000.0 where nid=101;

  (7)删除数据库

    如果公司因经营不善,被迫破产,当然公司倒闭后,其原有的数据库事实上已无存在之必要,这时可以删除其所有的数据信息。

    删除的步骤如下:

    a、删除所有的数据表,SQL语句为:

      mysql>drop table worker;

    b、删除数据库,SQL语句为:

      mysql>delete database company;

5、Mysql数据库连接之C语言API

  首先要安装一个包libmysql++-dev包,不然编译源码的时候会出现”mysql/mysql.h: No such file or directory“错误。

    sudo apt-get install libmysql++-dev

  

  示例代码:

    

#include<mysql/mysql.h> #include<stdio.h> int main() {      MYSQL *mysql;      MYSQL_RES *res;      MYSQL_ROW row;      char *query = "select * from dbtablename;";      int t,r;      mysql_init(mysql);      if(!mysql_real_connect(mysql,"localhost","dbusername","dbpassword","dbname",0,NULL,0))      {          printf("Error connecting to database:%s\n",mysql_error(mysql));      }      else         printf("Connected........");        else         printf("Connected........");      t=mysql_query(mysql,query);      if(t)      {          printf("Error making query:%s\n",mysql_error(mysql));      }      else     {          printf("Query made ....\n");          res = mysql_use_result(mysql);          if(res)          {              for(r=0;r<=mysql_field_count(mysql);r++)              {                  row = mysql_fetch_row(res);                  if(row<0) break;                  for(t=0;t<mysql_num_fields(res);t++)                      printf("%s ",row[t]);                  printf("\n");              }          }          mysql_free_result(res);      }      mysql_close(mysql);      return 0;  }

 编译之~注意一定要先安装libmysql++-dev包。编译指令:gcc c_mysql.c -lmysqlclient -o c_mysql

  运行./c_mysql


原创粉丝点击