读书笔记
MySQL数据库系统
1.摘要
本章讨论了MySQL关系数据库系统;介绍了MySQL并指出了它的重要性;展示了如何在Linux机器上安装和运行MySQL;演示了如何使用MySQL在命令模式和批处理模式下使用SOL脚本创建和管理数据库;说明了如何将MvSOL与C编程相结合;演示了如何将MySOL与PHP集成,通过动态Web页面创建和管理数据库。
2.知识点总结
2.1 MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache可组成良好的开发环境
2.2 MySQL与其他的大型数据库比较
例如Oracle 、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开源软件软件(FLOSS:Free/Libre and Open Source Software),因此使用这种方式除开人工成本就可以建立起一个稳定、免费的网站系统,也被称为“LAMP“或“LNMP”组合。
2.3 数据库类型
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。
而不同的数据库是按不同的数据结构来联系和组织的。
在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。
- (1)关系型数据库
代表:Oracle、SQL Server、MySQL - (2)非关系型数据库
代表:Redis、Mongodb
NoSQL数据库在存储速度与灵活性方面有优势,也常用于缓存。
3.MySql安装
3.1下载mysql
使用代码sudo apt-get install mysql-server
3.2进入数据库
使用代码sudo mysql -u root -p
4.MySql操作
4.1显示数据库
SHOW DATABASES
命令可显示MySQL中的当前数据库
4.2新建数据库
CREATE DATABASE dbname #创建一个名为dbname的数据库
如果数据库已经存在,则可以使用IF NOT EXISTS
子句对命令限定。
4.3删除数据库
DROP DATABASE dbname #删除已存在的命名数据库
该命令可以用一个可选的IF EXISTS
子句限定。
4.4选择数据库
USE dbname
命令选择一个数据库
4.5创建表
CREATE TABLE table_name 命令回在当前数据库中创建一个表。
DESCRIBE 命令显示表格式和列属性。
4.6删除表
DROP TABLE table_name #删除表
4.7Mysql中的数据类型
数值类型:
INT:整数(4字节)TINYINT:(1字节)SMALLINT:(2字节)等。·FLOAT:浮动指针数。
字符串类型:
CHAR(size):固定长度字符串,长度为1~255字符。
VARCHAR(size):可变长度字符串,但不能使用任何空格。 TEXT:可变长度的字符串。
日期和时间类型:
DATE:日期格式为YYYYMM-DD。·TIME:以HHMMSS格式保存时间。
4.8插入行
要在表中添加行,可使用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)
4.9Mysql更新表
我们使用UPDATE语句来更新表中的现有数据。也可以使用UPDATE语句来更改表中单个行,一组行或所有行的列值。
下面说明了MySQL UPDATE语句的语法:
UPDATE [LOW_PRIORITY] [IGNORE] table_name
SET
column_name1 = expr1,
column_name2 = expr2,
...
WHERE
condition;
SQL
4.10Mysql修改表
基本语法
修改表指的是修改数据库中已经存在的数据表的结构。MySQL 使用 ALTER TABLE 语句修改表。常用的修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。
常用的语法格式如下:
ALTER TABLE <表名> [修改选项]
修改选项的语法格式如下:
{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名> }