• 《Unix/Linux系统编程》第十四章学习笔记20191304商苏赫


    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);
    }
    
  • 相关阅读:
    Assembly Manifest 通俗简易手册
    CruiseControl服务器安装配置
    关于URL编码
    从A到Z来说说Web开发
    通过注册表查看 .NET Framework的版本信息
    云数据存在哪里?
    C#中你可能不知道的8件事(zz)
    用PBKDF2 或BCrypt 来存储密码
    C++编译器什么时候为我们自动生成拷贝构造函数?
    C#中你可能不知道的8件事(zz)
  • 原文地址:https://www.cnblogs.com/shoudeyunkaijianyueming/p/15680217.html
Copyright © 2020-2023  润新知