MySQL
MySQL的安装
使用phpstudy下载MySQL并配置MySQL的文件
启动MySQL数据库
以管理员身份打开 cmd 命令行工具,切换目录:
1 | cd C:\web\mysql-8.0.11\bin |
(此处为mysql文件所在位置)
初始化数据库:
1 | mysqld --initialize --console |
执行完成后,会输出 root 用户的初始默认密码,如:
1 | ... |
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
输入以下安装命令:
1 | mysqld install |
启动输入以下命令即可:
1 | net start mysql |
登录MySQL
当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:
1 | mysql -h 主机名 -u 用户名 -p |
参数说明:
- -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
- -u : 登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
1 | mysql -u root -p |
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
1 | Enter password: |
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor… 的提示语。
然后命令提示符会一直以 mysql> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。
MySQL创建数据表
创建 MySQL 数据表需要以下信息:
- 表名
- 表字段名
- 定义每个表字段的数据类型
通用语法
以下为创建 MySQL 数据表的 SQL 通用语法:
1 | CREATE TABLE table_name ( |
参数说明:
table_name
是你要创建的表的名称。column1
,column2
, … 是表中的列名。datatype
是每个列的数据类型。
例如:
1 | CREATE TABLE users ( |
实例解析:
id
: 用户 id,整数类型,自增长,作为主键。username
: 用户名,变长字符串,不允许为空。email
: 用户邮箱,变长字符串,不允许为空。birthdate
: 用户的生日,日期类型。is_active
: 用户是否已经激活,布尔类型,默认值为 true。
通过命令提示符创建表
通过 mysql> 命令窗口可以很简单的创建 MySQL 数据表。
1 | root@host# mysql -u root -p |
注意:MySQL 命令终止符为分号 ; 。
注意: -> 是换行符标识,不要复制。
使用 PHP 脚本创建数据表
你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据表。
该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。
1 | mysqli_query(connection,query,resultmode); |
参数 | 描述 |
---|---|
connection | 必需。规定要使用的 MySQL 连接。 |
query | 必需,规定查询字符串。 |
resultmode | 可选。一个常量。可以是下列值中的任意一个:MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)MYSQLI_STORE_RESULT(默认) |
1 | <?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } echo '连接成功<br />'; $sql = "CREATE TABLE runoob_tbl( ". "runoob_id INT NOT NULL AUTO_INCREMENT, ". "runoob_title VARCHAR(100) NOT NULL, ". "runoob_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; "; mysqli_select_db( $conn, 'RUNOOB' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('数据表创建失败: ' . mysqli_error($conn)); } echo "数据表创建成功\n"; mysqli_close($conn); ?> |
MySQL 删除数据表
通用语法
以下为删除 MySQL 数据表的通用语法:
1 | DROP TABLE table_name; -- 直接删除表,不检查是否存在 |
或
1 | DROP TABLE [IF EXISTS] table_name; -- 会检查是否存在,如果存在则删除 |
table_name
是要删除的表的名称。IF EXISTS
是一个可选的子句,表示如果表存在才执行删除操作,避免因为表不存在而引发错误。
1 | -- 删除表,如果存在的话 |
如果只是想删除表中的所有数据,但保留表的结构,可以使用 TRUNCATE TABLE 语句:
1 | TRUNCATE TABLE table_name; |
使用 PHP 脚本删除数据表
1 | mysqli_query(connection,query,resultmode); |
参数 | 描述 |
---|---|
connection | 必需。规定要使用的 MySQL 连接。 |
query | 必需,规定查询字符串。 |
resultmode | 可选。一个常量。可以是下列值中的任意一个:MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)MYSQLI_STORE_RESULT(默认) |
以下实例使用了 PHP 脚本删除数据表 runoob_tbl:
1 | <?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } echo '连接成功<br />'; $sql = "DROP TABLE runoob_tbl"; mysqli_select_db( $conn, 'RUNOOB' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('数据表删除失败: ' . mysqli_error($conn)); } echo "数据表删除成功\n"; mysqli_close($conn); ?> |
MySQL 查询数据
MySQL 数据库使用 SELECT 语句来查询数据。
你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过 PHP 脚本来查询数据。
语法
以下为在 MySQL 数据库中查询数据通用的 SELECT 语法:
1 | SELECT column1, column2, ... |
参数说明:
column1
,column2
, … 是你想要选择的列的名称,如果使用*
表示选择所有列。table_name
是你要从中查询数据的表的名称。WHERE condition
是一个可选的子句,用于指定过滤条件,只返回符合条件的行。ORDER BY column_name [ASC | DESC]
是一个可选的子句,用于指定结果集的排序顺序,默认是升序(ASC)。LIMIT number
是一个可选的子句,用于限制返回的行数。
- 本文作者: 林姜
- 本文链接: http://example.com/2025/02/04/MySQL/