当前位置: 首页 > article >正文

数据库和数据表的创建、修改、与删除

1.标识符命名规则

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

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

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

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

字段和保留字、常用方法冲突时,必须使用着重号`

应当保持字段名和类型的一致性。

2、常见的数据类型

通常分为四大类:数值类型、字符类型、日期类型、空间数据类型。

浮点类型 FLOAT、DOUBLE

定点数类型 DECIMAL

日期时间类型  DATE  TIME DATETIME

文本字符串类型  VARCHAR

3、数据库的创建与管理

(1)创建数据库

  CREATE DATABASE IF NOT EXISTS 数据库名

 

推荐使用第三种创建方式,防止报错。

不指明字符集的时候,使用默认字符集。指明字符集的时候,使用格式

CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET '指名字符集'

(2)管理数据库

①切换数据库     USE 数据库名;

②查看全部的数据库     SHOW DATABASES

③查看当前使用的数据库     SELECT DATABASE() FROM DUAL;

④查看当前库所有的数据表     SHOW TABLES;

⑤查看指定数据库下的全部数据表    SHOW TABLES FROM 数据库名;

 

4、数据库的修改与删除

删除数据库    DROP DATABASE IF EXISTS 数据库名;

修改数据库  ALTER DATABASE 数据库名 CHARACTER SET '字符集名'

数据库名不能修改。往往修改字符集。

数据库的删除使用关键字DROP,常用IF EXIST用于减少报错。

5、创建表的两种方式

CREATE TABLE IF NOT EXISTS  表名(字段 数据类型,字段 数据类型)

(1)直接创建

CREATE TABLE IF NOT EXISTS 表名(字段名 数据类型,字段名,数据类型…);

(2)根据已有表的数据进行新表的创建

此时对原有的字段所取别名可以作为新表的列名(字段名)

CREATE TABLE IF NOT EXISTS 表名

AS

SELECT 字段名

FORM 原表名;

6、管理表

查看表的结构:DESC 表名

或者:SHOW CREATE TABLE 表名

(1)修改表:ALTER TABLE 表名

添加一个字段:ADD

ADD 字段名 数据类型(长度);

修改一个字段(数据类型、长度、默认值)MODIFY

重命名一个字段:CHANGE 原字段 新命名字段 数据类型 字段长度

删除一个字段:DROP COLUMN 字段名

(2)重命名表 RENAME TABLE 原表名 TO 新表名

(3)删除表  DROP TABLE IF EXISTS 表名

表的数据与结构都删除

(4)清空表 TRUNCATE TABLE 表名

只删除表的数据,保留表的结构

(5)DCL中COMMIT 和ROLLBACK

COMMIT:提交数据,一旦执行COMMIT 护具永久保存在数据库中,意味着数据不能回滚。

ROLLBACK:回滚数据。一旦执行ROLLBACKA则可以实现数据的回滚,回滚到最近的一次COMMIT之后。

对比DELETE FROM 与TRUNCATE TABLE:

同:只删除数据,保留表结构

异:TRUNCATE TABLE表数据全部清除,不可回滚。

DELETE FORM:可以全部清除表数据,数据可以实现回滚。

DDL和DML的说明:

DDL的操作一旦执行,不可回滚。例如TRUNCATE TABLE

DML的操作一旦执行,默认情况下不可回滚。但如果在执行DML之间,执行了SET autocommit = FALSE;则可以进行回滚


http://www.kler.cn/a/530681.html

相关文章:

  • deep generative model stanford lecture note3 --- latent variable
  • 队列—学习
  • 深度学习之“线性代数”
  • C#面试常考随笔11:Dictionary<K, V>、Hashtable的内部实现原理是什么?效率如何?
  • DeepSeek V3 vs R1:大模型技术路径的“瑞士军刀“与“手术刀“进化
  • 面试问题知识
  • 冷启动+强化学习:DeepSeek-R1 的原理详解——无需监督数据的推理能力进化之路
  • 基于vue船运物流管理系统设计与实现(源码+数据库+文档)
  • 蓝桥杯学习笔记01
  • 【Qt】常用的容器
  • llama.cpp GGUF 模型格式
  • GWO优化SVM回归预测matlab
  • Mac怎么彻底卸载软件,简单彻底的卸载方式
  • 【数据结构-Trie树】力扣677. 键值映射
  • SQL/Panda映射关系
  • Spring Boot 2 快速教程:WebFlux处理流程(五)
  • 自制虚拟机(C/C++)(三、做成标准GUI Windows软件,扩展指令集,直接支持img软盘)
  • 轮转数组-三次逆置
  • Chromium132 编译指南 - Android 篇(六):从 Linux 版切换到 Android 版
  • 鸢尾花书《编程不难》02---学习书本里面的三个案例
  • 使用VCS进行单步调试的步骤
  • Scala语言的安全开发
  • Spring Bean 容器
  • 202周日复盘(159)本周回顾
  • Redis基础篇(万丈高楼平地起):核心底层数据结构
  • 『VUE』vue-quill-editor富文本编辑器添加按钮houver提示(详细图文注释)