MySQL的创建管理表:
目录
基础知识:
一条数据存储的过程:
标识符命名规则:
创建和管理数据库:
创建数据库:
创建数据库:
创建数据库并指定字符集:
判断数据库是否存在,不存在则创建数据库:
数据库的管理:
查看当前所有的数据库:
查看当前正在使用的数据库:
查看指定库下所有的表:
查看当前库下所有的表:
查看数据库的创建信息:
使用/切换数据库:
修改数据库:
更改数据库的字符集:
删除数据库:
删除指定的数据库:
删除存在的指定的数据库:
表的创建与管理:
创建表:
方式1:
方式2:
举例:
查看表的结构:
查看表的数据:
修改表:
添加字段:
默认添加到表中最后一个字段:
添加到指定位置:
修改字段:
重命名字段:
删除字段:
对表进行重命名:
方式1:
方式2:
删除表:
删除指定的表:
删除存在的指定的表:
清空表:
为什么清空表和删除表等操作需要慎重?
基础知识:
一条数据存储的过程:
存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。
在MySQL中,一个完整的数据存储过程总共有4步,分别是创建数据库、确认字段、创建数据表、插入数据表。
MySQL中数据库系统从大到小依次是数据库服务器、数据库、数据表、数据表的行与列。
标识符命名规则:
数据库名、表名不得超过30个字符,变量名限制为29个。
只能包含A-Z,a-z,0-9,_共63个字符。
数据库名、表名、字段名等对象名中间不要包含空格。
同一个MySQL软件中,数据库不能同名,同一个库中,表不能重名;同一个表中,字段不能重名。
必须保证你的字段没有和保留字、数据库系统或者常用方法冲突。如果坚持使用,需用着重号引起来。
保持字段名和类型的一致性,在命名字段为其指定数据类型的时候一定要保证一致性。
创建和管理数据库:
创建数据库:
创建数据库:
CREATE DATABASE 数据库名;
创建数据库并指定字符集:
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
判断数据库是否存在,不存在则创建数据库:
CREATE DATABASE IF NOT EXISTS 数据库名;
如果MySQL中已经存在相关的数据库,则忽略创建语句,不再创建数据库。创建数据库未指定字符集,那么则使用默认字符集。
数据库的管理:
查看当前所有的数据库:
SHOW DATABASES;
查看当前正在使用的数据库:
SELECT DATABASE();
查看指定库下所有的表:
SHOW TABLES FROM 数据库名;
查看当前库下所有的表:
SHOW TABLES;
查看数据库的创建信息:
SHOW CREATE DATABASE 数据库名;
SHOW CREATE DATABASE 数据库名\G;
使用/切换数据库:
USE 数据库名;
修改数据库:
更改数据库的字符集:
ALTER DATABASE 数据库名 CHARACTER SET 字符集;
删除数据库:
删除指定的数据库:
DROP DATABASE 数据库名;
删除存在的指定的数据库:
DROP DATABASE IF EXISTS 数据库名;
如果数据库存在则删除,如果不存在则忽略该语句。
表的创建与管理:
创建表:
必须具备:CREATE TABLE权限,存储空间。
如果创建表时,未指明使用的字符集,则默认使用表所在的数据库的字符集。
方式1:
CREATE TABLE [IF NOT EXISTS] 表名(字段名1,数据类型 [约束条件] [默认值],字段名2,数据类型 [约束条件] [默认值],字段名3,数据类型 [约束条件] [默认值],...[表约束条件]
);
方式2:
基于现有的表创建一个新表。
CREATE TABLE 表名
AS
SELECT (查询结构
);
可以基于SELECT查询的结果集进行创建新的表, 查询语句中如果对字段名起别名,那么新创建的表的字段名也为别名 查询结构可以是SELECT的完整结构 新创建的表的字段名和类型要和已有的表的字段名和类型一样。对新创建的表的数据进行操作不会对原来的表有影响。
举例:
创建一个表,对已有表的复制,包括数据:
CREATE TABLE 表名
AS
SELECT *
FROM 表名;
创建一个表,对已有表的复制,但是不包括数据:
CREATE TABLE 表名
AS
SELECT *
FROM 表名
WHERE 1=2(对所有数据进行过滤);
查看表的结构:
DESC 表名;
SHOW CREATE TABLE 表名;
查看表的数据:
SELECT * FROM 表名;
修改表:
关键字:ALTER TABLE。
添加字段:
默认添加到表中最后一个字段:
ALTER TABLE 表名
ADD 字段名 数据类型;
添加到指定位置:
ALTER TABLE 表名
ADD 字段名 数据类型 [FIRST|AFTER 字段名];
其中FIRST是将该字段放到表中的第一个字段位置。AFTER 字段名是将该字段放到目标字段后面一个位置。
修改字段:
ALTER TABLE 表名
MODIFY (修改字段的相关内容);
重命名字段:
LATER TABLE 表名
CHANGE 旧的字段名 新的字段名 数据类型;
删除字段:
ALTER TABLE 表名
DROP COLUMN 字段名;
对表进行重命名:
方式1:
RENAME TABLE 表名
TO 新表名
方式2:
ALTER TABLE 表名
RENAME [TO] 新表名;
删除表:
删除指定的表:
DROP TABLE 表名;
删除存在的指定的表:
DROP TABLE [IF EXISTS] 表名;
清空表:
TRUNCATE TABLE 表名;
删除表中的所有数据,释放表的存储空间,但是表的结构保留。
为什么清空表和删除表等操作需要慎重?
表删除操作将把表的定义和表中的数据一起删除,并且在MySQL在执行删除操作时,不会有任何的确认信息提示,因此执行删除操作时应当慎重。在删除表前,最好对表中的数据进行备份,这样当操作失误时可以对数据进行恢复,以免造成无法挽回的后果。
同样的,在使用ALTER TABLE进行表的基本修改操作时,在执行操作过程之前,也应该确保对数据进行完整的备份,因为数据库的改变是无法撤销的,如果添加了一个不需要的字段,可以将其删除;相同的,如果删除一个需要的列,该列下面的所有数据都将会丢失。