//最近学习了网络编程,写了一个聊天室程序。其中的学习内容需要做一番总结
下面是最近学习用到的书籍,也是推荐大家学习的书目:
1)linux程序设计 Neil Matthew 和 Richard Stones的书,中文翻译还可以,建议看中文。
2) 著名的UNP Unix网络编程 卷一(套接字联网通信) 卷二(进程间通信)
3)也是很著名的APUE unix环境高级编程
程序设计的东西很多,首先涉及到的是数据库,我用的是mysql。 系统是Centos6.2
//
mysql数据库的使用:(大小写不敏感,都是可以的)
登陆: mysql -u username -ppassword;
新建数据库: create databse databasename;
进入数据库: use databasename;
查看数据库: show databases;
新建用户: CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
授予用户权限: GRANT privileges ON databasename.tablename TO 'username'@'localhost' ;
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*
新建表格: create table child(childno varchar(30), name varchar(30)); //varchar类型字符,后面的操作中使用双引号。
插入内容: insert into child values("majintao", "22");
查看内容: select * from child;
更新内容: update child set name="23" where childno="majintao";
删除内容: delete from child where childno="majintao";
下面是使用c语言访问mysql的数据库
MYSQL *mysql_init(MYSQL *); //初始化连接句柄
MYSQL *mysql_real_connect(...); //进行数据库连接
void mysql_close(MYSQL *connection); //关闭数据库连接
执行 mysql语句: mysql_系列函数,返回值0表示没有行收到影响,返回正数是实际的结果,指受到语句影响的行数。
int mysql_query(MYSQL *connection,const char *query); //执行sql语句, 可以是update,delete,insert. select(需要特殊处理)
MYSQL_RES *mysql_store_result(MYSQL *connection); //调用mysql_query后使用此函数,返回所有数据
my_ulonglong mysql_num_rows(MYSQL_RES *result); //调用上个函数成功后,使用这个函数得到返回的行数目
MYSQL_RES *mysql_use_result(MYSQL *connection); //类似上上个函数,逐行提取数据。
还有很多API后续补充