学习笔记12(选做)

自学教材第14章,提交学习笔记(10分)
 
知识点归纳以及自己最有收获的内容 (3分)
问题与解决思路(2分)
实践内容与截图,代码链接(3分)
...(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)(2分)

本章讨论了 MySQL关系数据库系统;介绍了 MySQ L并指出了它的重要性;展示了如 何在Linux机器上安装和运行MySQL ;演示了如何使用MySQL在命令模式和批处理模式 下使用SQL脚本创建和管理数据库;说明了如何将MySQLC编程相结合;演示了如何 将MySQLPHP集成,通过动态Web页面创建和管理数据库。

MySQL

MySQL (MySQL2018 )是一个关系数据库系统(Codd 1970 )c在关系数据库中,数据 存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。 关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准 查询语言是SQL (结构化查询语言),包括MySQLo

MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服 务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检 索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL PHP (PHP 2018)已成为大多数数据管理和在线商务网站的主干网。本章介绍了 MySQLo我们将介绍MySQL的基础知识,包括如何在Linux中安装/配置MySQL, 何使用MySQL创建和管理简单数据库,以及如何在C语言和PHP编程环境中与MySQL 交互。

安装 MySQL

对于Ubuntu 16.04及以后版本,通过以下操作安装MySQL

sudo apt-get install mysql-server

mysql-server包包括一个MySQL服务器和一个客户机。在安装MySQL时,它会询问根用 户密码。用户可以使用与Ubuntu相同的登录密码。安装MySQL后,可通过运行脚本对其 进行配置以获得更好的安全性:

mysqlsecureinstallation

要得到简单和标准的安全设置,读者可以按Y,然后按ENTER,以接受所有问题的默认值。

 

Slackware Linux预装了 MySQL,但仍然需要配置。否则,Slackware会在MySQL 据库启动时显示一条错误消息。在Slackware 14.0或更早版本中,可通过以下步骤配置 MySQLo

(I)设置my.cnf : MySQL在启动时加载一个名为my.cnf的配置文件。该文件要在首

次设置MySQL时创建。在/etc目录中,有几个示例my.cnf文件,文件名分别是my-small. cnf. my-large.cnf等。选择所需的版本来创建my.cnf文件,如

cp /etc/my-small.cnf /etc/my.cnf

2)安装所需数据库:MySQ L需要一个所需数据库集,用于用户识别等。要安装它们, 可使用mysql用户作为超级用户,并使用以下命令安装所需的初始数据库。

mysql_install_db

3 )设置所需的系统权限:该步骤确保mysql用户拥有mysql系统的所有权。

chown -R inysql.mysql /var/lib/mysql

4 )通过以下操作使Zetc/rc.d/rc.mysqld可执行:

chmod 7S5 /etc/rc.d/rc.mysqld 

这将在后续系统引导上自动启动MySQL守护进程mysqldo

Slackware 14.2 使用 MariaDB 代替 MySQL除了未绑定到 Oracle 之外,MariaDB My- SQL数据库基本相同。事实上,它仍然使用mysqld作为它的守护进程名。在Slackware 14.2中,MySQL已经有一个默认.cnf文件,所以不再需要第1步。按照上面列出的第2 步到第4步配置MySQL配置完成后,通过以下操作手动启动MySQL守护进程mysqld:

/etc/rc.d/rc.mysqld -start 

 使用 MySQL

假设MySQL服务器已经设置好并在UbuntuSlackware Linux机器上运行。MySQL 服务器可以设置为支持不同的用户。为简单起见,我们将只假定根用户。为了使用MySQL, 用户必须运行一个MySQL客户机来连接到服务器。MySQL支持来自远程IP主机的客户机 连接。为了简单起见.我们将在同一台机器(即默认本地主机)上运行服务器和客户机。下 面几节介绍如何使用MySQL管理数据库。

连接到MySQL服务器

使用MySQL的第一步是运行MySQL客户机程序。从X-window终端输入MySQL 户机命令mysql,它连接到同一台计算机上默认本地主机上的MySQL务器。

mysq:! -u root -p # specify the root user with password

Enter password: # enter the MySQL root user password

mysql > # mysql prompt
;连接到MySQL服务器后,即可访冋MySQL shell,mysql>提示符所示 MySQL shell类似于普通的shello它会显示一个mysql>提示符,要求用户输入可供MySQL服务器 执行的SQL命令。与普通sh类似,它还维护一个命令历史记录,允许用户通过箭关键冋忆 和修改先前的命令。然而,它只接受MySQL命令或MySQL脚本,而不接受普通sh命令。 在输入MySQL命令时,读者要注意以下几点。

・所有的MySQL命令行末尾必须是分号。对于长命令,可在单独行中输入命令短语 (按下ENTER键)。MySQL将会通过-> 符号继续提示更多的输入,直到它看到一个 结束分号。

• MySQL命令行不区分大小写。虽然不是强制要求,但为了清楚和更容易识别,通常 使用大写编写MySQL命令,使用小写编写数据库、表、用户名或文本。

显示数据库

SHOW DATABASES

命令可显示MySQL中的当前数据库。

 

新建数据库

如果数据库dbname还不存在,那么CREATE DATABASE dbname命令将创建一个名为 dbname的新数据库。如果数据库已经存在,则可以使用可选的IF NOT EXISTS子句对该命 令进行限定,以避免出现错误消息。

mysql> CREATE DATABASE testdb

Query OK; 1 row affected (0.02 sec) # mysql response

 创建新数据库后输入SHOW DATABASES以査看结果。

mysql> SHOW DATABASES;

+ +

I Database

+ +

I information_schema |

I mysql |

I per formance_schema |

I test I

I testdb I

+ +

5 rows in set (0.00 sec)

14.3.4删除数据库

DROP DATABASE dbname

会删除已存在的命名数据库。该命令可以用一个可选的IF EXISTS子句限定。注意,DROP操作是不可逆的。一旦数据库被删除,就无法撤销或恢复。 因此,须谨慎使用。

mysql> DROP DATABASE testdb;

Query OK; one row affected (0.04 sec)

mysql> SHOW DATABASES;

+ +

I Database

I info rma t i on_s chema |

I mysql I

I performance_schema |

I test I

+ +

4 rows in set (0.01 sec)

选择数据库

假设MySQL已经有几个数据库。为了操作特定的数据库,用户必须通过USE dbname 命令选择一个数据库。


修改表

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 COLUMN column_name datatype;
 
C语言MySQL编程

MySQL可以与多种编程语言配合使用,如C语言、JavaPython等。本节介绍如何
进行C语言MySQL编程。C语言程序与MySQL之间的接口由mysqlclient库中的一系列 MySQL C API 函数(C API 2018a, b)支持。

 使用C语言构建MySQL客户机程序

思考以下C程序,它可以打印libmysqlclient库版本。

// client.c file

#include <stdio.h>

#include <my_global.h>

#include <mysql.h>

int maln(int argc, char *argc[])

printf("MySQL client version is : %s\n", mysql_get_client_info());

 若要编译程序,可输入

gcc client.c -I/usr/include/mysql/ -Imysqlclient

注意,-I选项将包含文件路径指定为/usr/include/mysql, -1选项指定mysqlclient库。 然后,运行a.out它会打印

MySQL client version is : version_nurober, e.g. 5.5.53

 

实践内容

登录数据库

 显示所有数据库

问题与解决

问题:mysql数据库常用语句有哪些

解决:通过查找网上资料归纳出以下几条重要的mysql语句:

1.show databases; 查看所有的数据库
2.create database test; 创建一个叫test的数据库
3.drop database test;删除一个叫test的数据库
5.show tables; 在选中的数据库之中查看所有的表
4.use test;选中库 ,在建表之前必须要选择数据库
8.drop table 表名; 删除表
6.create table 表名 (字段1 类型, 字段2 类型);
7.desc 表名;查看所在的表的字段
10.show create table 表名; 查看创建表的详细信息
9.show create databases 库名;查看创建库的详细信息

原文地址:https://www.cnblogs.com/stx3220665294/p/15680251.html