系统环境Ubuntu 12.04

1、安装mysql 
   ubuntu下安装mysql是比较简单的,直接通过apt-get安装

1. sudo apt-get install mysql-server-5.5


2、登入mysql

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


   其中参数-h后面要给出连接的数据库的IP地址或者域名、参数-u后面要给出登录的用户名、参数-p表示登录的密码。
   有时连接本机默认的Mysql数据库服务器,则可以直接在命令行中输入如下简写形式(root用户):

  1. mysql -u root -p


   之后,系统会提示你输入root用户的密码

   

mysql 实例和库 mysql实例名在哪找_mysql 实例和库



3、mysql的基本命令


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


   (1)显示数据库列表


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


      

mysql 实例和库 mysql实例名在哪找_mysql 实例和库_02



   (2)选择一个数据库


      选择一个数据库比较简单,使用use dbname,其中dbname为要选择的数据库名字。比如,这里我们选择test数据库:


      

mysql 实例和库 mysql实例名在哪找_mysql 实例和库_03



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


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


      查看Mysql表结构的命令,如下:

      show columns from 表名;
      describe 表名;
      desc 表名;
      show create table 表名;(查看create脚本)
   (4)退出
      简单的命令,quit;
   需要注意的是,每个命令后面需要加上分号“;”,因为分号表示一个事务的结束。

    (5) mysqldump工具备份和恢复

 


         1.导出整个数据库
          mysqldump -u 用户名 -p 数据库名 > 导出的文件名    
          mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
         2.导出一个表
          mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
          mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
         3.导出一个数据库结构
           mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >/home/dk/wcnc_db.sql



          -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table 



         4.导入数据库
           常用source 命令
           进入mysql数据库控制台,
           如mysql -u root -p 
  
           mysql>use 数据库



           然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
           mysql>source  /home/wcnc_db.sql


 

4、mysql数据库操作实例。
   (1)创建班级数据库
      创建数据库的命令式create databases dbname,其中dbname为数据库名,例如当前要创建的数据库名为class,因此需要输入下面的命令:


  1. ->create database class;


      

mysql 实例和库 mysql实例名在哪找_mysql 实例和库_04


   (2)创建学生信息表


1. >use class;
2. >create table student (nid INT UNIQUE,name VARCHAR(20),age int);


 

mysql 实例和库 mysql实例名在哪找_mysql_05

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


1. ->insert into student values(100, 'Lee', 16);
2. ->insert into student values(101, 'Tom', 17);
3. ->insert into student values(102, 'Harry', 15);


    (4)查询全部数据
      利用select语句查询全部记录。

  1. >select * from student;

      

 

mysql 实例和库 mysql实例名在哪找_sql_06


   (5)删除其中一条记录

      这里我们假设Tom同学转学了,那么他已经不在我们的班级class里面了,所以需要把他从class删除。

      mysql->delete from student where name = 'Tom';

   (6)更新其中一条记录

      班级class中还存在一种情况,就是有学生要改名了,比如Lee要改名为Tony了。具体的sql语句如下:

      mysql->update student set name = 'Tony' where name = 'Lee';

   (7)删除数据库

      如果学生毕业,那么我们这个班级就没有存在的必要了,这是就可以删除掉这个数据库class了。

      删除的步骤如下:

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

      mysql->drop table class;

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

      mysql->delete database class;

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

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


   sudo apt-get install libmysql++-dev

         示例代码:

    1. #include<mysql/mysql.h>
    2. #include<stdio.h>
    3. int main()
    4. {
    5. ;
    6. *res;
    7. ;
    8. *query = "select * from dbtablename;";
    9. int t,r;
    10. (&mysql);
    11. if(!mysql_real_connect(&mysql,"localhost","dbusername",
                         "dbpassword","dbname",0,NULL,0))12. {
    13. ("Error connecting to database:%s\n",mysql_error(&mysql));
    14. }
    15. else
    16. ("Connected........");
    17.  
    18. else
    19. ("Connected........");
    20. =mysql_query(&mysql,query);
    21. if(t)
    22. {
    23. ("Error making query:%s\n",mysql_error(&mysql));
    24. }
    25. else
    26. {
    27. ("Query made ....\n");
    28. = mysql_use_result(&mysql);
    29. if(res)
    30. {
    31. for(r=0;r<=mysql_field_count(&mysql);r++)
    32. {
    33. = mysql_fetch_row(res);
    34. if(row<0) break;
    35. for(t=0;t<mysql_num_fields(res);t++)
    36. ("%s ",row[t]);
    37. ("\n");
    38. }
    39. }
    40. (res);
    41. }
    42. (&mysql);
    43. ;
    44. }


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

      运行./c_mysql