初识MySQL数据库

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 1.数据以表格的形式出现
  • 2.每行为各种记录名称
  • 3.每列为记录名称所对应的数据域
  • 4.许多的行和列组成一张表单
  • 5.若干的表单组成database

RDBMS 术语

在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
在这里插入图片描述

  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。

MySQL数据库服务器、数据库和表的关系

  • 所谓数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
  • 为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。

数据库服务器、数据库和表的关系如图所示:
在这里插入图片描述

MySQL 连接

使用mysql二进制方式连接

  1. Mysql数据库自带的命令提示行
    开始–所有程序–MySQL–自带的命令提示行–点击
    先输入密码
    先输入密码
    弹出以下结果则登录成功在这里插入图片描述

退出 mysql> 命令提示窗口可以使用 exit 命令

注意:在登录数据库服务器之前一定要打开mySQL数据库服务。
打开mySQL数据库服务

  1. 控制面板–管理工具–服务–Mysql服务—启动
  2. 开始–cmd–
    C:\Users\Administrator>net start 数据库服务名称
    C:\Users\Administrator>net start MySQL5.5.62
    MySQL5.5.62 服务正在启动 .
    MySQL5.5.62 服务已经启动成功

使用 PHP 脚本连接 MySQL

PHP 提供了 mysqli_connect() 函数来连接数据库。
该函数有 6 个参数,在成功链接到 MySQL 后返回连接标识,失败返回 FALSE 。
语法

mysqli_connect(host, username, password, dbname,port, socket);

参数说明:

参数描述
host可选。规定主机名或 IP 地址。
username可选。规定 MySQL 用户名。
password可选。规定 MySQL 密码。
dbname可选。规定默认使用的数据库。
port可选。规定尝试连接到 MySQL 服务器的端口号。
socket可选。规定 socket 或要使用的已命名 pipe。

你可以使用 PHP 的 mysqli_close() 函数来断开与 MySQL 数据库的链接。
该函数只有一个参数为 mysqli_connect() 函数创建连接成功后返回的 MySQL 连接标识符。
语法

bool mysqli_close ( mysqli $link )

本函数关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier,则关闭上一个打开的连接。
提示:通常不需要使用 mysqli_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。

实例:
你可以尝试以下实例来连接到你的 MySQL 服务器:

<?php
$dbhost = 'localhost';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('Could not connect: ' . mysqli_error());
}
echo '数据库连接成功!';
mysqli_close($conn);
?>

SQL语言

  • 1.SQL—Structured Query Language, 结构化查询语言
  • 2.各厂商增强了过程性语言的特征
    如Oracle的PL/SQL 过程性处理能力
    SQL Server、Sybase的T-SQL
  • 3.SQL是用来存取关系数据库的语言,具有查询、操纵、定义和控制关系型数据库的四方面功能。

SQL分类

  1. DDL (数据定义语句)
    数据定义语言 - Data Definition Language
    用来定义数据库的对象,如数据表、视图、索引等
  2. DML (数据操纵语句)
    数据处理语言 - Data Manipulation Language
    在数据库表中更新,增加和删除记录
    如 update, insert, delete — 增删改
  3. DCL (数据控制语句)
    数据控制语言 – Data Control Language
    指用于设置用户权限和控制事务语句
    如grant,revoke,if…else,while,begin transaction
  4. DQL (数据查询语句)
    数据查询语言 – Data Query Language
    Select

MySQL 创建数据库

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

CREATE DATABASE 数据库名;

在这里插入图片描述

创建表(基本语句)

语法结构:

CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field3 datatype
);

field:指定列名 datatype:指定列类型
注意:
1.创建表前,要先使用use db语句使用库。
2.创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。

MySQL常用数据类型

字符串型 VARCHAR、CHAR
大数据类型BLOB、TEXT
数值型TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE
逻辑性 BIT
日期型DATE、TIME、DATETIME、TIMESTAMP

数据库查看

1.查看所有数据库

show databases;

2.查看数据库mydb1的字符集

show create database mydb1;

数据库的修改

例如:
修改mydb2字符集为gbk;

ALTER DATABASE mydb2 CHARACTER SET gbk;

数据库的删除

例如:
删除数据库mydb3。

drop database mydb3;

删除表

删除employee1表

drop table employee1;

数据表的结构的修改

  1. 在上面员工表的基本上增加一个image列。

alter table employee2 add image varchr(20);

  1. 修改job列,使其长度为60。

alter table employee2 modify job varchar(60);

  1. 删除gender列。

alter table employee2 drop gender;

  1. 表名改为user。

rename table employee2 to user;

  1. 修改表的字符集为utf8

alter table user character set utf8;

  1. 列名name修改为username

查看表结构

  1. 查看数据库内的所有表

show tables;

  1. 查看employee的建表语句

show create table employee1;

  1. 查看employee的表结构

desc employee1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值