系统学习javaweb13----MYSQL学习(使用PHP、SQL)1
系统学习javaweb13----MYSQL学习(使用PHP、SQL、mysqladmin)1
(本随笔是自学笔记,我学习的教程来自“菜鸟教程|MYSQL教程”,十分感谢!)
目录结构:
1.MYSQL简介
2.数据库简介
3.关系型数据库简介
4.RDBMS术语
5.管理MYSQL命令
6.PHP语法
1.MYSQL简介
MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
2.数据库简介
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
3.关系型数据库简介
所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database
4.RDBMS术语
数据库:一些关联表的集合。
数据表:表是数据的矩阵。在一个数据库中看起来像一个简单的电子表格。
列:一列(数据元素)包含了相同类型的数据。
行:一行(元组、或者记录)是一组相关的数据。
冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
主键:主键是唯一的。一个数据表中只能包含一个主键。
外键:外键用于关联两个表。
复合键:复合键(组合键)将多列作为一个索引键,一般用于复合索引。
索引:使用索引可以快速访问数据库表中的特定信息。
参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
5.管理MYSQL的命令
请注意:所有的命令后面不要忘记加 ;
以下列出了使用MYSQL数据库过程中常用的命令:
SHOW DATABASES;
列出MYSQL数据库管理系统的数据库列表。
mysql> SHOW DATABASES; +-----------------------------+ | Database | +-----------------------------+ | indi.chi.rjgc.text_2.yiqing | | information_schema | | mysql | | performance_schema | | test | +-----------------------------+ 5 rows in set (0.00 sec)
USE 数据库名;
选择要操作的MYSQL数据库,使用该命令后所有的MYSQL命令都只针对该数据库。
mysql> USE test; Database changed
SHOW TABLES;
显示指定数据库的所有表,使用该命令前需要使用 USE命令 来选择要操作的数据库。
mysql> USE test; Database changed mysql> SHOW TABLES; +----------------+ | Tables_in_test | +----------------+ | xinguan_world | +----------------+ 1 row in set (0.00 sec)
SHOW COLUMNS FROM 数据表;
显示数据表的属性,属性类型,主键信息,是否为NULL,默认值等其他信息。
mysql> SHOW COLUMNS FROM xinguan_world; +----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | country | varchar(255) | YES | | NULL | | | confirmed | varchar(255) | YES | | NULL | | | dead | varchar(255) | YES | | NULL | | | suspected | varchar(255) | YES | | NULL | | | healed | varchar(255) | YES | | NULL | | | lastUpdateTime | datetime | YES | | NULL | | +----------------+--------------+------+-----+---------+-------+ 7 rows in set (0.00 sec)
SHOW INDEX FROM 数据表;
显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
mysql> SHOW INDEX FROM runoob_tbl; +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | runoob_tbl | 0 | PRIMARY | 1 | runoob_id | A | 2 | NULL | NULL | | BTREE | | | +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 1 row in set (0.00 sec)
SHOW TABLE STATUS LIKE[FROM 数据库名称] [LIKE‘’]\G;
该命令将输出MYSQL数据库管理系统的性能及统计信息。
mysql> SHOW TABLE STATUS FROM test; # 显示数据库test 中所有表的信息
mysql> SHOW TABLE STATUS from test LIKE 'xinguan%'; # 表名以xinguan开头的表的信息
mysql> SHOW TABLE STATUS from test LIKE 'xinguan%'\G; # 加上 \G,查询结果按列打印
mysql> USE test; Database changed mysql> SHOW TABLE STATUS FROM test; +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ | xinguan_world | InnoDB | 10 | Dynamic | 167 | 98 | 16384 | 0 | 0 | 0 | NULL | 2020-03-22 21:08:39 | NULL | NULL | utf8mb4_0900_ai_ci | NULL | | | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ 1 row in set (0.00 sec) mysql> SHOW TABLE STATUS FROM test LIKE'xinguan%'; +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ | xinguan_world | InnoDB | 10 | Dynamic | 167 | 98 | 16384 | 0 | 0 | 0 | NULL | 2020-03-22 21:08:39 | NULL | NULL | utf8mb4_0900_ai_ci | NULL | | | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ 1 row in set (0.00 sec)
mysql> SHOW TABLE STATUS FROM test LIKE'xinguan%'\G; *************************** 1. row *************************** Name: xinguan_world Engine: InnoDB Version: 10 Row_format: Dynamic Rows: 167 Avg_row_length: 98 Data_length: 16384 Max_data_length: 0 Index_length: 0 Data_free: 0 Auto_increment: NULL Create_time: 2020-03-22 21:08:39 Update_time: NULL Check_time: NULL Collation: utf8mb4_0900_ai_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec) ERROR: No query specified
6.MYSQL PHP语法
MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP。 在这些语言中,Mysql在PHP的web开发中是应用最广泛。