跳至主要內容

五、 创建和管理表

鲨瓜大约 3 分钟数据库数据库MySQL

五、 创建和管理表

一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。

image-20240225160621281
image-20240225160621281

5.1 标识符命名规则

数据库名、表名不得超过30个字符,变量名限制为29个

必须只能包含 A–Z, a–z, 0–9, _共63个字符

数据库名、表名、字段名等对象名中间不要包含空格

同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名

必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使 用`(着重号)引起来

保持字段名和类型的一致性:在命名字段并为其指定数据类型的时候一定要保证一致性,假如数据 类型在一个表里是整数,那在另一个表里可就别变成字符型了

5.2 创建和管理数据库

5.2.1 创建数据库

CREATE DATABASE 数据库名; 
# 创建数据库并指定字符集
CREATE DATABASE 数据库名 CHARACTER SET '字符集';
# 查看系统内使用的字符集
SHOW VARIABLES LIKE 'CHARACTER_%' 
# 判断数据库是否已经存在,不存在则创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名; 

5.2.2 管理数据库

-- 查看所有的数据库
SHOW DATABASES

-- 切换数据库
USE boot_gm

-- 查看当前数据库中有哪些表
SHOW TABLES

-- 查看数据库的创建信息
show CREATE DATABASE testdatabase
-- 更改数据库字符集
ALTER DATABASE testdatabase CHARACTER SET 'utf8'
-- 如果存在则删除数据库
DROP DATABASE IF EXISTS 数据库名;

5.2.3 创建表

-- 创建方式一
CREATE TABLE [IF NOT EXISTS] 表名(
字段1, 数据类型 [约束条件] [默认值],
字段2, 数据类型 [约束条件] [默认值],
字段3, 数据类型 [约束条件] [默认值],
 ……
 [表约束条件]
 );
 
 -- 创建方式二
 -- 基于 employees 表创建 dept80 新表。
 -- 不仅会创建  employee_id, last_name,ANNSAL,hire_date 字段,还会将其值复制过去
CREATE TABLE dept80
 AS 
SELECT  employee_id, last_name, salary*12 ANNSAL, hire_date
 FROM    
employees
 WHERE   department_id = 80;
-- 如果不想要数据,可通过WHERE条件控制
CREATE TABLE dept80
 AS 
SELECT  employee_id, last_name, salary*12 ANNSAL, hire_date
 FROM    
employees
 WHERE   1 = 2;

5.2.4 修改表

# 增加字段
ALTER TABLE 表名 ADDCOLUMN】  字段类型 ;
# 修改字段数据类型、长度、默认值、位置的语法格式如下
ALTER TABLE 表名 MODIFYCOLUMN】 字段类型 【DEFAULT 默认值】
# 重命名字段
ALTER TABLE 表名 CHANGE 【column】 列名 新列名 新数据类型;
# 删除某个字段的语法格式
ALTER TABLE 表名 DROPCOLUMN】字段名
# 重命名表
RENAME TABLE 表名 to 新表名
# 删除表
DROP TABLE [IF EXISTS] 数据表1 [, 数据表2,, 数据表n];
# 清空表
TRUNCATE TABLE 表名;

5.2.5 TRUNCATE 与 DELETE 对比

相同点

都可以实现对表中的所有数据进行删除,同时保留表的结构

不同点:

DELETE 属于 DML 语句,执行操作后可以进行回滚(前提是提交前设置 SET autocommit = false)

TRUNCATE 属于 DDL 语句,执行操作后不可回滚

TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少,但 TRUNCATE 无 事务且不触发 TRIGGER,有可能造成事故,故不建议在开发代码中使用此语句。

上次编辑于:
贡献者: “杨照光”
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3