MySQL
MySQL是一个关系数据库系统。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。- -- MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL 和PHP已成为大多数数据管理和在线商务网站的主干网。
MySQL安装
sudo apt-get install mysql-server
mysql_secure_installation
数据库操作
-
显示数据库:SHOW DATABASES命令可显示MySQL中的当前数据库
-
新建数据库:CREATE DATABASE dbname 创建一个名为dbname的数据库,如果数据库已经存在,则可以使用IF NOT EXISTS子句对命令限定。
-
删除数据库:DROP DATABASE dbname 删除已存在的命名数据库,该命令可以用一个可选的IF EXISTS 子句限定。
-
选择数据库:USE dbname命令选择一个数据库
-
创建表:CREATE TABLE table_name 命令回在当前数据库中创建一个表;DESCRIBE 命令显示表格式和列属性。
-
删除表:DROP TABLE table_name 命令删除表
数值类型:
INT:整数(4字节),TINYINT:(1字节)S,MALLINT:(2字节)等。
FLOAT:浮动指针数。
字符串类型:
CHAR(size):固定长度字符串,长度为1~255字符。
VARCHAR(size):可变长度字符串,但不能使用任何空格。
TEXT:可变长度的字符串。
日期和时间类型:
DATE:日期格式为YYYYMM-DD。
TIME:以HHMMSS格式保存时间.
数据表操作:
-
插入行:INSERT INTO table_name VLAUES(columnValuel,columnValue2,....);
-
删除行:DELETE FROM table_name; DELETE FROM table_name WHERE condition;
-
更新表:UPDATE命令用于修改表中的现有记录(列) UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;
-
修改表:ALTER TABLE命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表中的各种约束条件。
-
修改表名: ALTER TABLE table name renAme To new_name;
-
添加列 : ALTER TABLE table name ADD column name datatype;
-
删除行 :ALTER TABLE table name DROP column name datatype;
-
更改/修改行 :ALTER TABLE table name ALTER COLUNN column_name datatype;
实践代码:
#include <stdio.h>
#include <stdlib.h>
#include <my_global.h>
#include <mysql.h>
MYSQL *con; // connection object pointer
void error()
{
printf("errno = %d %s\n", mysql_errno(con), mysql_error(con));
mysql_close(con);
exit(1);
}
int main(int argc, char *argv[ ])
{
con = mysql_init(NULL); // will allocate and initialize it
if (con == NULL)
error();
printf("connect to mySQL server on localhost using database cs360\n");
if (mysql_real_connect(con, "localhost", "root", NULL,"cs360", 0, NULL, 0) == NULL)
error();
printf("connection to server OK\n");
printf("drop students table if exists\n");
if (mysql_query(con, "DROP TABLE IF EXISTS students"))
error();
printf("create students tables in cs360\n");
if (mysql_query(con, "CREATE TABLE students(Id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name CHAR(20) NOT NULL, score INT)"))
error();
printf("insert student records into students table\n");
if (mysql_query(con, "INSERT INTO students VALUES(1001,’Baker’,50)"))
error();
if (mysql_query(con, "INSERT INTO students VALUES(1002,’Miller’,65)"))
error();
if (mysql_query(con, "INSERT INTO students VALUES(2001,’Miller’,75)"))
error();
if (mysql_query(con, "INSERT INTO students VALUES(2002,’Smith’,85)"))
error();
printf("all done\n");
mysql_close(con);
}