第二篇 MySQL数据库基本操作
2.1 操作数据库
- SHOW DATABASES;----->显示数据库
- CREATE DATABASE 数据库名;------>创建数据库
- DROP DATABASES 数据库名;-------->删除数据库
- SHOW ENGINES\G;------->查看MySQL数据库支持的存储引擎类型【\G 显示的更加美观】
存储引擎指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。当创建表时,若没有指定存储引擎,表的存储引擎将为默认的存储引擎。MySQL支持的存储引擎包括MyISAM、MEMORY、InnoDB、ARCHIVE和MRG_MYISAM等,其中InnoDB为默认存储引擎。
InnoDB存储引擎支持自动增长列AUTO_INCREMENT。自动增长列的值不能为空且空值必须唯一。Mysql中规定自增长列必须为主键。
InnoDB存储引擎中支持外键(FOREIGN KEY),外键所在的表为子表,外键所
依赖的表为父表。父表中被子表外键关联的字段必须为主键。当删除、更新父表的某条信息时,子表也必须有相应的改变。
2.2创建、修改和删除表 CREATE、ALTER、DROP
表是数据库存储数据的基本单位。一个表包含若干个字段或记录。
- USE 数据库名---->选择数据库(创建表时必须先选择数据库)
- CREATE TABLE 表名(属性名 数据类型[完整性约束条件],
……
属性名 数据类型);----->创建表
‘表名’参数表示所要创建的表的名称;‘属性名’:表中字段的名称;‘数据类型’:指定字段的数据类型。
3.设置表的主键(该字能唯一地标识该表中的每条信息)
主键必须满足的条件:主键必须是唯一的,表中任意两条记录的主键字段的值不能相同;主键的值是非空值;主键可以是单一的字段,也可以是多个字段的组合。
A.属性名 数据类型 PRIMARY KEY------>单字段主键
- PRIMARY KEY(属性名1,属性名2,……,属性名n)---->多字段主键
stu_id 和 course_id 两个字段成为主键;stu_id和course_id两者的组合可以确定唯一的一条记录。
4、设置表的外键
如果字段sno是一个表A 的属性,且依赖于表B的主键。那么,称表B为父表,表A为子表,sno为表A的外键。通过sno字段将父表B和子表A建立关联关系。设置表的外键指在创建某个字段的外键。【constraint 限制,限定,references 参考】
CONSTRAINT 外键别名 FOREIGN KEY(属性1.1,属性1.2,……,属性1.n)
REFERENCES 表名(属性2.1,属性2.2,……,属性2.n)
其中,”外键别名”参数是为外键的代号;‘属性1’参数列表是子表中设置的外键;‘表名’参数是指父表的名称;‘属性2’参数列表是父表的主键。
id字段是主键;stu_id和course_id子段为外键;c_fk是外键的别名;example2表称为example3表的父表;example3表的外键依赖于父表example3的主键stu_id和course_id。
5. 设置表的非空约束
非空约束将保证所有记录中该字段都有值。
属性名 数据类型 NOT NULL
5、设置表的唯一性约束
唯一性是指所有记录中该字段的值不能重复出现。唯一性约束将保证所有记录中该字段的值不能重复出现。
属性名 数据类型 UNIQUE
stu_id字段为唯一值,该字段的值不能重复。
6、设置表的属性值自动增加
表中插入新纪录自动生成唯一的id。一个表只能有一个字段使用auto_increment约束,且该字段必须为主键的一部分。
属性名 数据类型 AUTO_INCREMENT
在插入记录时,默认的情况下自增字段的值从1开始自增。
7、设置表的属性的默认值
属性名 数据类型 DEFAULT 默认值
8、SHOW TABLES------>查看数据库中所有表
2.3 查看表结构 DESC
查看表结构是指查看数据库中已存在的表的定义。
1、查看表基本结构语句 DESCRIBE
DESCRIBE(DESC) 表名;
显示了字段的数据类型(type);是否为空(null),是否为主外键(key);默认值(default)和额外信息(extra)
2、查看表详细结构语句 SHOW CREATE TABLE
SHOW CREATE TABLE 表名;