当前位置:   article > 正文

MySQL表的管理_mysql数据表管理

mysql数据表管理

目录

1.mysql中,数据存储过程分为四步

2.数据库命名规则

3.创建数据库

4.管理数据库的方法

5.修改数据库(一般不改,最多改字符集)

6.删除数据库

7.如何创建数据表

8.修改表

9.重命名表

10.删除表(注意⚠️无法撤销)

11.清空表

12.DCL中commit 和 rollback

13.对比 truncate table 和 delete from

14.DDL 和 DML 的说明

15.在删除时选择truncate table还是delete?


1.mysql中,数据存储过程分为四步

        创建数据库、确认字段、创建数据表、插入数据

2.数据库命名规则

       1. 数据库名、表名不得超过30个字符,变量名限制为29个
       2.必须只能包含 A–Z, a–z, 0–9, _共63个字符
       3.数据库名、表名、字段名等对象名中间不要包含空格
       4.同一个MySQL中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名
       5.必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使用`(着重号)引起来      

3.创建数据库

1.create database 数据库名

        创建的数据库使用的是默认的字符集

2.create database 数据库 character set ‘字符集’

        显示的指明了要创建的数据库的字符集

3.create database if not exists 数据库名 character set ‘utf8’(推荐使用这种)

        如果要创建的数据库已经存在,则创建不成功,但不会报错。

CREATE DATABASE IF NOT EXISTS test01_office CHARACTER SET 'utf8';

4.管理数据库的方法

1.查看当前连接的数据库:show databases

2.切换数据库:use 数据库名

3.查看当前数据库表:show tables

4.查看当前使用的数据库:select database() from dual

5.查看置顶数据库下的保存表:show tables from 数据库名

  1. SHOW DATABASES;
  2. USE mydata;
  3. SHOW TABLES;
  4. SELECT DATABASE() FROM DUAL;
  5. SHOW TABLES FROM mydata;

5.修改数据库(一般不改,最多改字符集)

1.alter database 数据库名 character set

2.查看数据库字符集:show create database 数据库名

  1. ALTER DATABASE mydata CHARACTER SET 'utf8';
  2. SHOW CREATE DATABASE mydata;

 

6.删除数据库

1.drop database 数据库名

2.推荐:drop database if exists 数据库名

        如果要删除的数据库存在,删除成功;如果不存在,不会报错    

DROP DATABASE IF EXISTS mydata;

7.如何创建数据表

前提:需要用户具备创建表的权限

方式一:

1.create table if not exists 表名

2.使用varchar时需要指明长度,用以定义字符

3.查看表结构:desc 表名

4.如果创建表时没有指明使用的字符集,则默认使用表所在的数据库的字符集

  1. CREATE TABLE IF NOT EXISTS employees(
  2. empNum INT,
  3. lastName VARCHAR(50),
  4. firstName VARCHAR(50),
  5. mobile VARCHAR(25),
  6. `code` INT,
  7. jobTitle VARCHAR(50),
  8. birth DATE,
  9. note VARCHAR(255),
  10. sex VARCHAR(5)
  11. );
  12. DESC employees;

方式二:基于现有的表,同时导入数据

1.create table 表名 as 查询语句

2.查询语句中字段的别名,可以作为新创建的表的字段的名称

3.此时查询语句结构比较丰富,使用前面各种select

  1. CREATE TABLE IF NOT EXISTS dept02
  2. AS
  3. SELECT *
  4. FROM atguigudb.departments;
  5. DESC emp02;

 

8.修改表

1.添加一个字段:alter table 表名 add 字段名

此时:first/after 等可以指定位置

  1. ALTER TABLE emp02
  2. ADD salary2 DOUBLE(10,2) AFTER email;

 

2.修改一个字段:数据类型、长度:alter table 表名 modify 字段名 数据类型

  1. ALTER TABLE emp02
  2. MODIFY salary2 DOUBLE(20,4);

3.重命名一个字段:alter table 表名 change 字段名 修改名 数据类型

  1. ALTER TABLE emp02
  2. CHANGE salary2 my_salary DOUBLE(20,4);

4.删除一个字段:after table 表名 drop column 字段名

  1. ALTER TABLE emp01 DROP COLUMN department_id;
  2. DESC emp01;

9.重命名表

1.rename table 表名 to 新表名——推荐

  1. RENAME TABLE emp02
  2. TO emp22;

2.alter table 表名 rename to 新表名

10.删除表(注意⚠️无法撤销)

删除表结构+表数据,释放表空间:drop table if exists 表名

DROP DATABASE IF EXISTS mydata;

11.清空表

清空表,清空表中数据,但保留表结构:truncate table 表名;

TRUNCATE TABLE mydata;

12.DCL中commit 和 rollback

1.commit:提交数据;一旦执行commit,数据就被永久的保存在了数据库中,无法回滚

2.rollback:回滚数据;一旦执行rollback,就可以实现数据的回滚,回滚到最近的一次commit之后

13.对比 truncate table 和 delete from

相同点:

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

不同点:

        truncate table:一旦执行此操作,表数据全部清除;数据不可以回滚

        delete from:一旦执行此操作,表数据全部清除(不带where);数据可以实现回滚

14.DDL 和 DML 的说明

1.DDL的操作一旦执行,就不可以回滚;指令SET autocommit= FALSE无效。(因为在执行完DDL之后一定会执行一次commit,而此操作commit操作不受SET autocommit= FALSE影响)

2.DML的操作默认情况,一旦执行,也是不可回滚。但是如果执行DML之前,执行了SET autocommit= FALSE,则执行的DML操作就可以实现回滚

15.在删除时选择truncate table还是delete?

使用delete:因为truncate table比delete速度快,且使用的系统和事务日志资源少,但Truncate无事务且不触发trigger,有可能造成事故,因此在开发中不建议使用此语句。

另外:truncate在功能上与不带where子句的delete语句相同。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/440837
推荐阅读
相关标签
  

闽ICP备14008679号