学习笔记12

学习笔记12


课程:《Linux》
班级:2111
姓名:杨博川
学号:20211121
日期:2023年11月30日


一、数据库系统

一、知识点归纳

(一)MySQL简介

MySQL(MySQL 2018)是一个关系数据库系统(Codd 1970 )c在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是 SQL(结构化查询语言),包括MySQL。
  MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入 SQL 命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL 和 PHP(PHP 2018)已成为大多数数据管理和在线商务网站的主干网。本章介绍了 MySQL。我们将介绍 MySQL 的基础知识,包括如何在 Linux 中安装/配置 MySQL,如 何使用MySQL创建和管理简单数据库,以及如何在 C 语言和 PHP 编程环境中与 MySQL 交互。

(二)安装 MySQL
1.Ubuntu Linux
sudo apt-get install mysql-server
sudo mysql_secure_installation
(三)使用 MySQL
1.连接到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命令,使用小写编写数据库、表、用户名或文本。
2.显示数据库
SHOW DATABASES

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

3.新建数据库

如果数据库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;

---------------------------------
|	Database		|
---------------------------------
|	information_schemae	|
|	mysqle			|
|	performance_schemae	|
|	teste			|
|	testdbe			|
---------------------------------
5 rows in set (0.00 sec)
4.删除数据库
DROP DATABASE dbname

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

mysql> DROP DATABASE testdb;

Query OK; one row affected (0.04 sec)
mysql> SHOW DATABASES;
---------------------------------
|	Database		|
---------------------------------
|	information_schema	|
|	mysql			|
|	performance_schema	|
|	test			|
---------------------------------
4 rows in set (0.01 sec)
5.选择数据库

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

二、问题与解决思路

(一)配置MySQL中遇到的bug:
  • 1.Failed! Error: SET PASSWORD has no significance for user ‘root’@‘localhost’ as the authentication method used doesn’t store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

解决方案:参考 https://blog.csdn.net/delilahy123/article/details/124834998

  • 2.Error: Access denied for user ‘root’@‘localhost’ (using password: YES)

解决方案:参考 https://blog.csdn.net/wuwei_201/article/details/107907067

  • 3.mysql 在/etc下没有my.cnf

解决方案:参考 http://www.htsjk.com/shujukunews/4168.html 和 https://blog.csdn.net/alwaysbefine/article/details/109224657
service mysqld stop
sudo mysqld_safe --skip-grant-tables --skip-networking

  • 4.在 OpenEuler 中 Error: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
(二)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库名;查看创建库的详细信息


二、苏格拉底检验

问题一

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题二

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值