MySQL
Posted yu412
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL相关的知识,希望对你有一定的参考价值。
mysql
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
在本教程中,会让大家快速掌握 MySQL 的基本知识,并轻松使用 MySQL 数据库。
RDBMS 术语
在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
- 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
- 表头(header): 每一列的名称;
- 列(col): 具有相同数据类型的数据的集合;
- 行(row): 每一行用来描述某条记录的具体信息;
- 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
- 键(key): 键的值在当前列中具有唯一性。
MySQL数据库
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
- MySQL 是开源的,所以你不需要支付额外的费用。
- MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL 使用标准的 SQL 数据语言形式。
- MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、php、Eiffel、Ruby 和 Tcl 等。
- MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
- MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
- MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。
在PHP中使用MySQL
连接数据库管理系统函数:
$link = new mysqli(host,username,password,dbname);
参数释义:
host,mysql的主机名或ip地址
usernane,mysql用户名
pasword,mysql密码
dbname,要操作的数据库名
返回值:
当连接成功时返回连接标识符
当连接失败时返回false
连接失败:
echo $link->connect_error;
设置字符集:
$link->set_charset("utf8");
查询语句(执行一条sql语句):
$link->query(sql命令);
插入数据:
$query1 = "insert tb_name (字段名) values(对应值)";
$link->query($query1);
更新数据:
$query2 = "update tb_name set 字段名=值 where 条件";
$link->query($query2);
删除记录:
$query3 = "delete from tb_name where 条件"
$link->query($query3);
查询记录:
$query4 = "select * from tb_name";
$res = $link->query($query4);
索引数组+关联数组查看数据:$res->fetch_array()
索引数组查看数据:$res->fetch_row();
关联数组查看数据:$res->fetch_assoc(); √
对象方式查看数据:$res->fetch_object();
以上四种方式每次执行返回一条记录的数据,可配合循环多次执行,查询所有数据
断开数据库的函数:
$link->close();
断开连接
程序执行完毕自动断开,可省略不用
|
在命令窗口使用MySQL
登录过程中出现1103报错、登录过程中出现1045报错:
MySQL语句的规范:
1.关键字与函数名称全部大写
2.数据库名称,表名称,字段名称全部小写
3.SQL语句必须以分号结尾
创建数据库:
CREATE DATABASE db_name;
CHARACTER SET charset_name //创建数据库同时设置编码方式
查看编码格式:
SHOW CREATE DATABASE db_name;
查看当前服务器下的数据库列表:
SHOW DATABASES;
修改编码格式:
ALTER DATABASE db_name CHARACTER SET utf8;
删除数据库:
DROP DATABASE db_name;
选择数据库:
USE db_name;
显示当前数据库:
SELECT DATABASE();
-----------------------------------------------------------------------------
创建数据表(创建字段名):
CREATE TABLE table_name (
column_name data_type,
......
)
显示数据表列表:
SHOW TABLES [FROM db_name];
显示数据表的结构:
SHOW COLUMNS FROM tb_name;
修改数据表:
添加一列:
ALTER TABLE tb_name ADD column_name data_type;
添加多列:
ALTER TABLE tb_name ADD (column_name data_type,…);
删除列:
ALTER TABLE tb_name DROP column_name,DROP column_name,……
插入记录(创建字段下的数据):
INSERT tb_name (col_name,...) VALUES(val,...);
查找记录:
SELECT col_name,... FROM tb_name;
更新记录UPDATE:
UPDATE tb_name SET age = age + 5, sex = 2 WHERE username=‘TOM’;
删除记录DELETE:
DELETE FROM tb_name WHERE id=2;
排序:SELECT * FROM stu ORDER BY 笔试 LIMIT 0,8
|
以上是关于MySQL的主要内容,如果未能解决你的问题,请参考以下文章