第十四章学习笔记

一、梗概

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

二、知识点总结

1、Mysql简介

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

2、安装MySQL

Windows 上安装 MySQL

最新版Mysql下载地址

下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。

接下来我们需要配置下 MySQL 的配置文件

打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

接下来我们来启动下 MySQL 数据库:

以管理员身份打开 cmd 命令行工具,切换目录:

cd C:\web\mysql-8.0.11\bin

初始化数据库:

mysqld --initialize --console

执行完成后,会输出 root 用户的初始默认密码,如:

...
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
...

APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

输入以下安装命令:

mysqld install

启动输入以下命令即可:

net start mysql

注意: 在 5.7 需要初始化 data 目录:

cd C:\web\mysql-8.0.11\bin 
mysqld --initialize-insecure 

初始化后再运行 net start mysql 即可启动 mysql。

3、使用Mysql

MySQL 创建数据库

我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下:

CREATE DATABASE 数据库名;
以下命令简单的演示了创建数据库的过程,数据名为 RUNOOB:

[root@host]# mysql -u root -p   
Enter password:******  # 登录后进入终端

mysql> create DATABASE RUNOOB;

删除数据库

drop命令删除数据库
drop 命令格式:

drop database <数据库名>;
例如删除名为 RUNOOB 的数据库:

mysql> drop database RUNOOB;

选择数据库

假设MySOL已经有几个数据库。为了操作特定的数据库,用户必须通过USEdbname命令选择一个数据库。
示例14.4:

mysq1>CREATE DATABASE cs360;
Query oK,1 row affected(0.00 sec)
mysql> usecs360; 
Database changed

Mysql中的数据类型

数值类型:
INT:整数(4字节)TINYINT:(1字节)SMALLINT:(2字节)等。·FLOAT:浮动指针数。
字符串类型:
CHAR(size):固定长度字符串,长度为1~255字符。
VARCHAR(size):可变长度字符串,但不能使用任何空格。 TEXT:可变长度的字符串。
日期和时间类型:
DATE:日期格式为YYYYMM-DD。·TIME:以HHMMSS格式保存时间。

插入行

要在表中添加行,可使用INSERT命名,具有语法形式:

INSERTINTOtable nameVLAUES(columnValuel,columnValue2,....);

示例14.7:

mysql> INSERT INTO students VALUES(1001,'Baker','50'); Query oK,1rowaffected(0.01 sec) mysql> SELECT* FROM students)

Mysql更新表

我们使用UPDATE语句来更新表中的现有数据。也可以使用UPDATE语句来更改表中单个行,一组行或所有行的列值。

下面说明了MySQL UPDATE语句的语法:

UPDATE [LOW_PRIORITY] [IGNORE] table_name 
SET 
    column_name1 = expr1,
    column_name2 = expr2,
    ...
WHERE
    condition;
SQL

在上面UPDATE语句中:

首先,在UPDATE关键字后面指定要更新数据的表名。
其次,SET子句指定要修改的列和新值。要更新多个列,请使用以逗号分隔的列表。以字面值,表达式或子查询的形式在每列的赋值中来提供要设置的值。
第三,使用WHERE子句中的条件指定要更新的行。WHERE子句是可选的。 如果省略WHERE子句,则UPDATE语句将更新表中的所有行。
请注意,WHERE子句非常重要,所以不应该忘记指定更新的条件。 有时,您可能只想改变一行; 但是,可能会忘记写上WHERE子句,导致意外更新表中的所有行。

MySQL在UPDATE语句中支持两个修饰符。

LOW_PRIORITY修饰符指示UPDATE语句延迟更新,直到没有从表中读取数据的连接。 LOW_PRIORITY对仅使用表级锁定的存储引擎(例如MyISAM,MERGE,MEMORY)生效。
即使发生错误,IGNORE修饰符也可以使UPDATE语句继续更新行。导致错误(如重复键冲突)的行不会更新。

Mysql修改表

基本语法
修改表指的是修改数据库中已经存在的数据表的结构。MySQL 使用 ALTER TABLE 语句修改表。常用的修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。

常用的语法格式如下:

ALTER TABLE <表名> [修改选项]

修改选项的语法格式如下:

{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名> }

三、最有收获的内容

本次学习最有收获的是熟悉MySQL建立数据库、建表常用步骤。

1)数据库操作:

  1、查看数据库:
    >SHOW DATABASES;
  2、创建数据库:
    >CREATE DATABASE db_name;  //db_name为数据库名
  3、使用数据库:
    >USE db_name;
  4、删除数据库:
    >DROP DATABASE db_name;

2)创建表:

  1、创建表:
    >CREATE TABLE table_name(
    >id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,    //id值,无符号、非空、递增——唯一性,可做主键。
    >name VARCHAR(60) NOT NULL
    >score TINYINT UNSIGNED NOT NULL DEFAULT 0,    //设置默认列值
    >PRIMARY KEY(id)
    >)ENGINE=InnoDB    //设置表的存储引擎,一般常用InnoDB和MyISAM;InnoDB可靠,支持事务;MyISAM高效不支持全文检索
    >DEFAULT charset=utf8;  //设置默认的编码,防止数据库中文乱码
    如果有条件的创建数据表还可以使用 >CREATE TABLE IF NOT EXISTS tb_name(........
  2、复制表:
    >CREATE TABLE tb_name2 SELECT * FROM tb_name;
    或者部分复制:
    >CREATE TABLE tb_name2 SELECT id,name FROM tb_name;
  3、创建临时表:
    >CREATE TEMPORARY TABLE tb_name(这里和创建普通表一样);
  4、查看数据库中可用的表:
    >SHOW TABLES;
  5、查看表的结构:
    >DESCRIBE tb_name;
    也可以使用:
    >SHOW COLUMNS in tb_name;     //from也可以
  6、删除表:
    >DROP [ TEMPORARY ] TABLE [ IF EXISTS ] tb_name[ ,tb_name2.......];
    实例:
    >DROP TABLE IF EXISTS tb_name;
  7、表重命名:
    >RENAME TABLE name_old TO name_new;
    还可以使用:
    >ALTER TABLE name_old RENAME name_new;

linux下登陆mysql截图:

windows下登陆mysql截图:

四、实践内容

在windows下创建数据库,并进行数据库管理

创建数据库:

创建数据表:

插入数据:

读取数据表:

五、问题与总结

1、如何使用navicat登陆mysql进行数据库管理?

首先查看电脑是否启动MySQL服务:
计算机右键——管理——服务和应用程序——服务,查看mysql服务是否开启

打开navicat,输入用户名和密码,登陆

现在就可以进行数据库的管理了
查看之前创建的表:

posted @ 2021-12-06 18:19  20191223张俊怡  阅读(64)  评论(0编辑  收藏  举报