MySQL数据库简介MySQL是最流行的开放源码的关系型数据库管理系统,它是由MySQLAB公司开发、发布并支持的。任何人都能从Internet下载MySQL软件,而无需支付任何费用,并且“开放源码”意味着任何人都可以使用和修改该软件,如果愿意,用户可以研究源码并进行恰当的修改,以满足自己的需求,不过需要注意的是,这种“自由”是有范围的。安装和连接MySQL数据库本讲大纲:安装mysql数据库启动和关闭mysql安装mysql数据库Linux安装MySQL需要到官方网站的安装包。将下载的mysql-5.1.56.tar.gz拷贝到/softs(此为自定义文件夹,用于存储压缩包)下。添加用户和用户群组。groupaddmysqluseradd-gmysqlmysql进入存放安装文件的文件夹softs(自行创建的一个存放安装文件的文件夹)。cd/softs解压数据库文件。tar-vzxfmysql-5.1.56.tar.gz进入解压后的mysql文件夹。cdmysql-5.1.56安装配置文件,将其安装在/usr/local/mysql目录下,但是这只是笔者的个人习惯,大家可以根据自己的需要设定相应的目录。./configure--prefix=/usr/local/mysql编译mysql文件。make安装mysql编译文件。makeinstall进入mysql安装目录。cd/usr/local/mysql提供新的mysql文件所有者。chown-Rmysql.提供新的mysql文件群组所有者。chgrp-Rmysql.创建mysql数据目录并初始化数据,但是在命令执行的过程中会出现一些警告信息,这些用户可以不予理会。cd/usr/local/mysql/bin./mysql_install_db--user=mysql启动和关闭mysql启动mysql时建议使用mysql_safe的命令,而不是使用mysqld来启动mysql服务器,因为mysql_safe命令添加了一些安全特性,如当服务器发生错误时自动重启并把运行信息记录到错误日志文件等,命令如下。#cd/usr/local/mysql./mysqld_safe&登录mysql数据库。./mysql-uroot-p关闭数据库(这个很特殊,要注意,由于进程问题)。cd/usr/local/mysql/bin./mysqladmin-urootshutdown-pLinux下启动和停止MySQL服务器的命令是(使用rpm包安装的mysql,可以使用下方式进行mysql的启动、停止和重启)。servicemysqldstartservicemysqldstopservicemysqldrestart标题连接操作mysql本讲大纲:MySQL常用数据库操作函数连接MySQL数据查询表记录插入表记录修改表记录删除表记录MySQL常用数据库操作函数函数描述mysql_affected_rows()返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数mysql_autocommit()切换autocommit模式,ON/OFFmysql_change_user()更改打开连接上的用户和数据库mysql_charset_name()返回用于连接的默认字符集的名称mysql_close()关闭服务器连接mysql_commit()提交事务mysql_connect()连接到MySQL服务器。该函数已不再被重视,使用mysql_real_connect()取代mysql_create_db()创建数据库。该函数已不再被重视,使用SQL语句CREATEDATABASE取而代之mysql_data_seek()在查询结果集中查找属性行编号mysql_debug()用给定的字符串执行DBUG_PUSHmysql_drop_db()撤销数据库。该函数已不再被重视,使用SQL语句DROPDATABASE取而代之mysql_dump_debug_info()让服务器将调试信息写入日志mysql_eof()确定是否读取了结果集的最后一行。该函数已不再被重视,可以使用mysql_errno()或mysql_error()取而代之mysql_errno()返回上次调用的MySQL函数的错误编号mysql_error()返回上次调用的MySQL函数的错误消息mysql_escape_string()为了用在SQL语句中,对特殊字符进行转义处理mysql_fetch_field()返回下一个表字段的类型mysql_fetch_field_direct()给定字段编号,返回表字段的类型mysql_fetch_fields()返回所有字段结构的数组mysql_fetch_lengths()返回当前行中所有列的长度mysql_fetch_row()从结果集中获取下一行mysql_field_seek()将列光标置于指定的列mysql_field_count()返回上次执行语句的结果列的数目mysql_field_tell()返回上次mysql_fetch_field()所使用字段光标的位置mysql_free_result()释放结果集使用的内存mysql_get_client_info()以字符串形式返回客户端版本信息mysql_get_client_version()以整数形式返回客户端版本信息mysql_get_host_info()返回描述连接的字符串mysql_get_server_version()以整数形式返回服务器的版本号函数描述mysql_affected_rows()返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数mysql_autocommit()切换autocommit模式,ON/OFFmysql_change_user()更改打开连接上的用户和数据库mysql_charset_name()返回用于连接的默认字符集的名称mysql_close()关闭服务器连接mysql_commit()提交事务mysql_connect()连接到MySQL服务器。该函数已不再被重视,使用mysql_real_connect()取代mysql_create_db()创建数据库。该函数已不再被重视,使用SQL语句CREATEDATABASE取而代之mysql_data_seek()在查询结果集中查找属性行编号mysql_debug()用给定的字符串执行DBUG_PUSHmysql_drop_db()撤销数据库。该函数已不再被重视,使用SQL语句DROPDATABASE取而代之mysql_dump_debug_info()让服务器将调试信息写入日志mysql_eof()确定是否读取了结果集的最后一行。该函数已不再被重视,可以使用mysql_errno()或mysql_error()取而代之mysql_errno()返回上次调用的MySQL函数的错误编号mysql_error()返回上次调用的MySQL函数的错误消息mysql_escape_string()为了用在SQL语句中,对特殊字符进行转义处理mysql_fetch_field()返回下一个表字段的类型mysql_fetch_field_direct()给定字段编号,返回表字段的类型mysql_fetch_fields()返回所有字段结构的数组mysql_fetch_lengths()返回当前行中所有列的长度mysql_fetch_row()从结果集中获取下一行mysql_field_seek()将列光标置于指定的列mysql_field_count()返回上次执行语句的结果列的数目mysql_field_tell()返回上次mysql_fetch_field()所使用字段光标的位置mysql_free_result()释放结果集使用的内存mysql_get_client_info()以字符串形式返回客户端版本信息mysql_get_client_version()以整数形式返回客户端版本信息mysql_get_host_info()返回描述连接的字符串mysql_get_server_version()以整数形式返回服务器的版本号函数描述mysql_affected_rows()返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数mysql_autocommit()切换autocommit模式,ON/OFFmysql_change_user()更改打开连接上的用户和数据库mysql_charset_name()返回用于连接的默认字符集的名称mysql_close()关闭服务器连接mysql_commit()提交事务mysql_connect()连接到MySQL服务器。该函数已不再被重视,使用mysql_real_connect()取代mysql_create_db()创建数据库。该函数已不再被重视,使用SQL语句CREATEDATABASE取而代之mysql_data_seek()在查询结果集中查找属性行编号mysql_debug()用给定的字符串执行DBUG_PUSHmysql_drop_db()撤销数据库。该函数已不再被重视,使用SQL语句DROPDATABASE取而代之mysql_dump_debug_info()让服务器将调试信息写入日志mysql_eof()确定是否读取了结果集的最后一行。该函数已不再被重视,可以使用mysql_errno()或mysql_error()取而代之mysql_errno()返回上次调用的MySQL函数的错误编号mysql_error()返回上次调用的MySQL函数的错误消息mysql_escape_string()为了用在SQL语句中,对特殊字符进行转义处理mysql_fetch_field()返回下一个表字段的类型mysql_fetch_field_direct()给定字段编号,返回表字段的类型mysql_fetch_fields()返回所有字段结构的数组mysql_fetch_lengths()返回当前行中所有列的长度mysql_fetch_row()从结果集中获取下一行mysql_field_seek()将列光标置于指定的列mysql_field_count()返回上次执行语句的结果列的数目mysql_field_tell()返回上次mysql_fetch_field()所使用字段光标的位置mysql_free_result()释放结果集使用的内存mysql_get_client_info()以字符串形式返回客户端版本信息mysql_get_client_version()以整数形式返回客户端版本信息mysql_get_host_info()返回描述连接的字符串mysql_get_server_version()以整数形式返回服务器的版本号连接MySQL数据MySQL提供的mysql_real_connect()函数用于数据库连接,其语法形式如下:MYSQL*mysql_real_connect(MYSQL*connection,constchar*server_host,constchar*sql_user_name,constchar*sql_password,constchar*db_name,unsignedintport_number,constchar*unix_socket_name,unsignedintflags);/*连接数据库*/MYSQLmysql;if(!mysql_real_connect(&mysql,127.0.0.1,root,123,db_books,0,NULL,0)){printf(\n\tCannotconnectdb_books!\n);}else{/*数据库连接成功*/}在上述代码的链接操作中,&mysql是一个初始化连