MySQL创建表和管理表
2022/1/1 19:08:34
本文主要是介绍MySQL创建表和管理表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 基础知识
- 一条数据存储的过程:
- 标识符的命名规则
- MySQL中的常用数据类型
- 创建和修改数据库
- 创建数据库
- 使用数据库
- 修改数据库
- 删除数据库
- 创建表
- 方式一
- 方式二
- 查看表结构
- 修改表
- 添加列
- 修改列
- 重命名列
- 删除列
- 重命名表
- 删除表
- 清空表
基础知识
一条数据存储的过程:
创建数据据—>确认字段—>创建数据表—>插入数据
MySQL数据库系统从大到小依次是:数据库服务器
、数据库
、数据表
、行与列
。
标识符的命名规则
- 数据库名、表名不得超过30个字符,变量名限制为29个
- 必须只能包含 a-z,A-Z,0-9,’_’
- 数据库名、表名、字段名等对象名中间不要包含空格
- 同一个MySQL软件中、数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名
- 必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使用`(着重号)引起来
- 保持字段名和类型的一致性:在命名字段并为其指定数据类型的时候一定要保证一致性,假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了
MySQL中的常用数据类型
数据类型 | 描述 |
---|---|
INT | 从-231到231-1的整型数据。存储大小为 4个字节 |
CHAR(size) | 定长字符数据。若未指定,默认为1个字符,最大长度255 |
VARCHAR(size) | 可变长字符数据,根据字符串实际长度保存,必须指定长度 |
FLOAT(M,D) | 单精度,占用4个字节,M=整数位+小数位,D=小数位。 D<=M<=255,0<=D<=30,默认M+D<=6 |
DOUBLE(M,D) | 双精度,占用8个字节,D<=M<=255,0<=D<=30,默认M+D<=15 |
DECIMAL(M,D) | 高精度小数,占用M+2个字节,D<=M<=65,0<=D<=30,最大取值范围与DOUBLE相同。 |
DATE | 日期型数据,格式’YYYY-MM-DD’ |
BLOB | 二进制形式的长文本数据,最大可达4G |
TEXT | 长文本数据,最大可达4G |
创建和修改数据库
创建数据库
- 判断数据库是否已经存在,不存在则创建数据库(
推荐
)
#如果不存在同名的数据库则创建,有同名的则不创建 CREATE DATABASE IF NOT EXISTS 数据库名; #也可以指定数据库的字符集 CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET 字符集;
注意:数据库不能改名
使用数据库
使用某数据库
USE 数据库名;
查看所有数据库
SHOW DATABASES;
查看当前正在使用的数据库
#DATABASE()为一个函数 SELECT DATABASE();
查看指定库下的所有表
SHOW TABLES FROM 数据库名;
查看数据库的创建信息
#不难发现查看的是创建数据库的信息 SHOW CREATE DATABASE 数据库名;
注意:如果要对每个数据库中的表进行操作,则需要先使用这个表,就是USE这张表,如果要使用别的库中的表,可以在表名前面加上数据库名。
修改数据库
上面说过数据库的名不能更改,修改数据库的字符集
# 比如:gbk、utf8等 ALTER DATABASE 数据库名 CHARACTER SET 字符集;
删除数据库
删除指定的数据库
#如果数据库存在则删除 DROP DATABASE IF EXISTS 数据库名;
创建表
方式一
- 手动添加字段
语法格式:
[约束条件] [默认值] [表约束条件] 可以不加。
#如果表不存在则创建表 CREATE TABLE IF NOT EXISTS 表名( 字段1, 数据类型 [约束条件] [默认值], 字段2, 数据类型 [约束条件] [默认值], 字段3, 数据类型 [约束条件] [默认值], …… [表约束条件] );
方式二
-
使用 AS subquery 选项,将创建表和插入数据结合起来
-
需要注意的是:指定的列和子查询的列要一 一对应
-
通过列名和默认值定义列
#将查询的结果 作为新表的字段和数据 CREATE TABLE emp1 AS SELECT * FROM employees; #创建的是空表,因为查询的内容为空,但字段保留 CREATE TABLE emp2 AS SELECT * FROM employees WHERE 1=2; -- 创建的emp2是空表
查看表结构
查看表的结构组成;
DESC 表名;
SHOW CREATE TABLE 表名\G
使用SHOW CREATE TABLE 语句不仅可以查看表创建时的详细语句,还可以查看存储引擎和字符编码。
修改表
修改表是指修改数据库中已经存在的数据表的结构
使用 ALTER TABLE 语句可以实现:
- 向已有的表中添加列
- 修改现有表中的列
- 删除现有表中的列
- 重命名现有表中的列
添加列
【FIRST|AFTER 字段名】指定所添加的列在那个字段的前面或者后面
ALTER TABLE 表名 ADD 【COLUMN】 字段名 字段类型 【FIRST|AFTER 字段名】;
修改列
可以修改列的数据类型,长度、默认值和位置
ALTER TABLE 表名 MODIFY 【COLUMN】 字段名1 字段类型 【DEFAULT 默认值】【FIRST|AFTER 字段名2】;
重命名列
ALTER TABLE 表名 CHANGE 【column】 列名 新列名 新数据类型;
删除列
需要注意的是如果列和其他的表有关联,则不能删除。
ALTER TABLE 表名 DROP 【COLUMN】字段名
重命名表
方式一
RENAME TABLE 表名 TO 新表名;
方式二
ALTER table 表名 RENAME [TO] 新表名; -- [TO]可以省略
删除表
注意:
-
在MySQL中,当一张数据表
没有与其他任何数据表形成关联关系
时,可以将当前数据表直接删除。 -
数据和结构都被删除
-
所有正在运行的相关事务被提交
-
所有相关索引被删除
语法格式:
DROP TABLE [IF EXISTS] 数据表1 [, 数据表2, …, 数据表n];
清空表
TRUNCATE TABLE语句:
- 删除表中所有的数据,保留表结构
- 释放表的存储空间
TRUNCATE TABLE 表名;
DELETE FROM 表名;
TRUNCAT 不能回滚数据,DELETE再设只不自动提交的前提下可以回滚数据。
所以建议使用DELETE,防止发生事故。
这篇关于MySQL创建表和管理表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南