1.数据库基础知识
1.1创建和查看数据库
在MySQL中创建数据库的基本语法格式如下:
CREATE DATABASE 数据库名称;
查看数据库的SQL语句如下:
SHOW DATABASES;
创建好数据库后想要查看某个已经创建的数据库信息,可以通过SHOW CREATE DATABASE 语句查看,具体语法格式如下:
SHOW CREATE DATABASE 数据库名称;
1.2修改数据库
MySQL数据库一旦创建成功,创建的数据库的编码也就确定了,如果需要改变数据库的编码,可以使用ALTER DATABASE 语句实现。基本语法格式如下:
ALTER DATABASE 数据库名称 DEFAULT CHARACTER SET 编码方式 COLLATE 编码方式_bin
在上述格式中,数据库名称指的是要修改的数据库名称,编码方式指的是修改后的数据库编码
1.3删除数据库
成功删除数据库后,数据库中的所有信息都将被清楚,原来所分配的空间也将被回收。在MySQL中,删除数据库的基本语法格式如下:
DROP DATABASE 数据库名称;
2.数据类型
2.1整数类型
根据数据取值范围的不同,MySQL中的整数类型可以分为五种,分别是:
TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT
2.2浮点数类型和定点数类型
在MySQL中,存储的小数都是使用浮点数和定点数表示的。浮点数的类型有两种,分别是单精度浮点数类型(FLOAT)和双精度浮点数类型(DOUBLE),而定点数类型只有DECIMAL类型。
2.3日期与时间类型
为了方便在数据库中存储日期和时间,MySQL提供了日期和时间的数据类型,分别是YEAR、DATE、TIME、DATETIME、TIMESTAMP。如果插入的数值不合法,系统会自动将对应的零值插入数据库中。
2.4字符串和二进制类型
为了存储字符串和图片、声音等数据,MySQL提供了字符串和二进制类型:CHAR、VARCHAR、BINARY、VARBINARY、BOLB、TEXT、ENUM、SET、BIT。
3.数据表的基本操作
3.1创建数据表
创建数据库之后就需要创建数据表,所谓创建数据表是指在已存在的数据库中建立新表。需要注意的是,在操作数据表之前,应该使用“USE 数据库名”指定操作是在哪个数据库中进行,否则会抛出“No database selected"错误。创建数据表的基本语法格式如下:
CREATE TABLE 表名
(
字段名1 数据类型[完整性约束条件],
字段名2 数据类型[完整性约束条件],
字段名3 数据类型[完整性约束条件],
)
在上述语法格式中,“表名”指的是创建的数据表名称,“字段名”指的是数据表的列名,“完整性约束条件”指的是字段的某些特殊约束条件。
数据表创建成功后可以使用SHOW TABLES 语句查看
3.2查看数据表
(1)使用 SHOW CREATE TABLE 查看数据表
在MySQL中, SHOW CREATE TABLE 语句不仅可以查看创建表时的定义语句还可以查看表的字符编码, SHOW CREATE TABLE 语句的基本语法格式如下:
SHOW CREATE TABLE 表名;
实例结果如下所示:
从上图可以看出,example01 数据表的定义信息显示了出来,但是却非常混乱,其实我们可以在 SHOW CREATE TABLE 语句的后面加上参数“\G”,使得显示结果整齐美观,具体执行结果如图:
(2)使用 DESCRIBE 语句查看数据表
在MySQL中,使用 DESCRIBE 语句可以查看表的字段信息,其中包括字段名、字段类型等信息。DESCRIBE 语句的基本语法格式如下:
DESCRIBE 表名;
或者简写为:
DESC 表名;
3.3修改数据表
修改数据表指的是修改数据库中已经存在的数据表结构,比如修改表名、修改字段名、修改字段的数据类型等。在MySQL中,修改数据表的操作都是使用 ALTER TABLE 语句。
(1)修改表名
基本语法格式如下:
ALTER TABLE 旧表名 RENAME [TO] 新表名;
在上述格式中“旧表名”指的是修改前的表名,“新表名”指的是修改后的表名,关键字 TO 是可选的,其在SQL语句中出现与否不会影响语句的执行。
(2)修改字段名
基本语法格式如下:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
需要注意的是,新数据类型不能为空,即使新数据类型和就数据类型相同,也必须将新数据类型设置为与原来一样的数据类型。
(3)修改字段的数据类型
基本语法格式如下:
ALTER TABLE 表名 MODIFY 字段名 数据类型;
(4)添加字段
如果想在创建好的数据表中添加字段,需要通过 ALTER TABLE 语句进行添加。在MySQL中,添加字段的基本语法格式如下:
ALTER TABLE 表名 ADD 新字段名 数据类型[约束条件][FIRST|AFTER 已存在字段名]
在上述格式中‘FIRST’是可选参数,用于将新添加的字段设置为表的第一个字段,”AFTER’也是可选参数,用于将新添加的字段添加到指定的“已存在字段名”的后面。
(5)删除字段
ALTER TABLE 表名 DROP 字段名;
(6)修改字段的排列位置
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2;
"FIRST"是可选参数,用于将字段1修改为表的第一个字段
3.4删除数据表
在删除数据表的同时,数据表中存储的数据都将被删除,需要注意的是,创建数据表时,表和表之间可能会存在关联,要删除这些被其他表关联的数据表比较复杂。
在MySQL中,直接使用 DROP TABLE 语句就可以删除没有被其他表关联的数据表,基本语法格式如下:
DROP TABLE 表名;
4.表的约束
为了防止数据表中插入错误的数据,在MySQL中定义了一些维护数据完整性的规则,即表的约束。
约束条件 | 说明 |
---|---|
PRIMARY KEY | 主键约束,用于唯一标识对应的记录 |
FOREIGN KEYI | 外键约束 |
NOT NULL | 非空约束 |
UNIQUE | 唯一性约束 |
DEFAULT | 默认值约束,用于设置字段的默认值 |
上述表中列举的约束条件都是针对表中字段进行限制,从而保证数据表中数据的正确性和唯一性。
5.设置表的字段值自动增加
在数据表中,若想为表中插入的新纪录自动生成唯一的ID,可以使用 AUTO_INCREMENT 约束来实现。AUTO_INCREMENT 约束的字段可以是任何整数类型。默认情况下,该字段的值是从1开始自增的。基本语法格式如下:
字段名 数据类型 AUTO_INCREMENT;