MySQL数据库基础
Web开发只有与数据库相结合,才能充分发挥动态网页编程语言的魅力。PHP支持多种数据库,其与MySQL的组合被称为黄金组合。
操作MySQL数据库
创建数据库
在MySQL中,使用create database命令创建数据库。其语法格式如下:
create database 数据库名;
在创建数据库时,数据库的命名要遵循如下规则。
☑ 不能与其他数据库重名。
☑ 名称可以包括任意字母、阿拉伯数字,下画线(_)和“$”,可以使用上述任意字符开头,但不能是单独的数字,那样会造成它与数值相混淆。
☑ 名称最长可为64个字符(包括表、列和索引的命名),别名最多可为256个字符。
☑ 不能使用MySQL关键字作为数据库名、表名。
☑ 默认情况下,Windows下数据库名、表名的字母大小写是不敏感的,而在Linux下数据库名、表名的字母大小写是敏感的。为了便于数据库在平台间进行移植,建议读者采用小写字母来定义数据库名和表名。
选择数据库
use命令用于选择一个数据库,使其成为当前默认数据库。其语法格式如下:
use 数据库名;
查看数据库
数据库创建完成后,可以使用show databases命令查看MySQL数据库中所有已经存在的数据库。其语法格式如下:
show databases;
删除数据库
删除数据库使用的是drop database命令,语法格式如下:
drop database 数据库名;
MySQL数据类型
在MySQL数据库中,每一条数据都有其数据类型。
数值类型
MySQL支持所有的ANSI/ISO SQL 92数值类型,既包括准确数的数据类型(NUMERIC、DECIMAL、INTEGER和SMALLINT),还包括近似数的数据类型(FLOAT、REAL和DOUBLE PRECISION)。其中的关键字INT是INTEGER的简写,关键字DEC是DECIMAL的简写。
字符串类型
字符串类型可以分为3类:普通的文本字符串类型(CHAR和VARCHAR)、可变类型(TEXT和BLOB)和特殊类型(SET和ENUM)。
日期和时间类型
日期和时间类型包括DATETIME、DATE、TIMESTAMP、TIME和YEAR。每种类型都有其取值的范围,如赋予它一个不合法的值,将会被0代替。
操作数据表
数据库创建完成后,即可在命令提示符下对数据库进行操作。
创建数据表
在MySQL数据库中,可以使用create table命令创建数据表。其语法格式如下:
create[TEMPORARY] table [IF NOT EXISTS] 数据表名 [(create_definition, …)][table_options] [select_statement]
查看表结构
成功创建数据表后,可以使用show columns命令或describe命令查看指定数据表的表结构。
修改表结构
修改表结构采用alter table命令。修改表结构指增加或者删除字段、修改字段名称或者字段类型、设置取消主键外键、设置取消索引以及修改表的注释等。语法格式如下:
alter [IGNORE] table 数据表名 alter_spec[, alter_spec]…
重命名数据表
重命名数据表采用rename table命令,语法格式如下:
rename table 数据表名1 to 数据表名2;
删除数据表
删除数据表的操作很简单,与删除数据库的操作类似,使用drop table命令即可实现。其语法格式如下:
drop table 数据表名;
在删除数据表的过程中,如果删除一个不存在的表将会产生错误,这时在删除语句中加入if exists关键字就可避免出错。其语法格式如下:
drop table if exists 数据表名;
数据表记录的更新操作
数据库中包含数据表,而数据表中包含数据。
- 数据表记录的添加
建立一个空的数据库和数据表时,首先要想到的就是如何向数据表中添加数据。这项操作可以通过insert命令来实现。语法格式如下:
insert into 数据表名(column_name, column_name2, … ) values(value1, value2, … );
在MySQL中,一次可以同时插入多行记录,各行记录的值清单在values关键字后以逗号分隔,而标准的SQL语句一次只能插入一行。
说明
值列表中的值应与字段列表中字段的个数和顺序相对应,值列表中值的数据类型必须与相应字段的数据类型保持一致。
- 数据表记录的修改
要执行修改的操作可以使用update命令,语法格式如下:
update 数据表名 set column_name = new_value1, column_name2 = new_value2, …where condition;
其中,set子句指出要修改的列及其给定的值;where子句是可选的,如果给出该子句,将指定记录中哪行应该被更新,否则,所有的记录行都将被更新。
- 数据表记录的删除
在数据库中有些数据已经失去意义或者是错误的,这时就需要将它们删除,此时可以使用delete命令。该命令的语法格式如下:
delete from 数据表名 where condition;
数据表记录的查询操作
要从数据库中把数据查询出来,就要用到数据查询命令select。
MySQL中的特殊字符
当SQL语句中存在特殊字符时,需要使用“\”对特殊字符进行转义,否则将会出现错误。