写点什么

数据库 -MySQL- 基础(2)-DDL 操作

作者:Geek_a7ae15
  • 2022-10-12
    安徽
  • 本文字数:1678 字

    阅读完需:约 6 分钟

数据库-MySQL-基础(2)-DDL操作

 本篇文章参考黑马程序员数据库基础篇的 DDL 操作,希望可以对你的数据库学习有所帮助

一、DDL-数据库操作

查询所有数据库

SHOW DATABASES;

 


点击并拖拽以移动


查询当前数据库

SELECT DATABASE();

假如执行了很多数据库操作,不知道在当前是哪个数据库可以使用,这个操作 



点击并拖拽以移动


创建

CREATE DATEBASE[IF NOT EXISTS] 数据库名[DEFAULT CHARSET 字符集] 

[COLLATE 排序规则];



点击并拖拽以移动

 出现 Query OK 即可

如果再次输入 create database itcast; 会创建失败



点击并拖拽以移动

 如果想数据库已经存在则不创建,不存在则创建可以使用

create database if not exists itcast;

设置字符集

utf8 : 存储三个字节

utf8mb4 : 存储四个字节

create database itheima default charset utf8mb4;



点击并拖拽以移动


删除

DROP DATABASE[ IF EXISTS]  数据库名;



点击并拖拽以移动

​如果删除不存在的数据库就会报错,如果不想报错,可以使用:

drop database if exists test;

使用

USE 数据库名



点击并拖拽以移动

二、 DDL -表操作-查询

查询当前数据库所有表

SHOW TABLES;



点击并拖拽以移动


 查询表结构

DESC 表名;



点击并拖拽以移动


查询指定表的建表语句

SHOW CREATE TABLSE 表名; 



点击并拖拽以移动


 三、 DDL -表操作-创建

创建:

CREATE TABLE 表名(

        字段 1 字段 1 类型[ COMMENT 字段 1 注释],

        字段 2 字段 2 类型[ COMMENT 字段 2 注释],

        字段 3 字段 3 类型[ COMMENT 字段 3 注释],

        .......

        字段 n 字段 n 类型[ COMMENT 字段 n 注释],

)[COMMENT 表注释];

 注意:最后一个字段不要逗号



点击并拖拽以移动


四、DDL 数据类型和案例

1、数值类型



点击并拖拽以移动

案例

如果想表示年龄可以用 (无符号):

 age TINYINT UNSIGNED

表示学生分数可以用:

score double(4,1)       /* 表示长度为四个单位,小数的长度为一个单位*/


2、字符串类型



点击并拖拽以移动

带 blob 的是描述二进制数据的,带 text 的是描述文本数据的

char:

需要跟上参数,表示最长存储的字符长度,如 char(10),定长字符即使你使用一个字符,也会存储

存储十个字符的空间,未占用的空间会用空格进行补位,性能高。

如:性别 gender   char[1]

varchar:

也要跟上参数如 varchar(10),变长字符串,假如只存储一个字符,就只占用一个字符的空间,相对于 char 性能较低。


3、日期类型



点击并拖拽以移动

date 和 datetime 往往用的更多

如: birthday date;


4、案例

根据需求创建表(设计合理数据类型,长度)

设计一张员工信息表,要求如下:1.编号(纯数字)2.员工工号 (字符串类型,长度不超过 10 位)3.员工姓名(字符串类型,长度不超过 10 位)4.性别(男/女,存储- -个汉字)5. 年龄(正常人年龄,不可能存储负数)6. 身份证号(二代身份证号均为 18 位,身份证中有 X 这样的字符)


7.入职时间(取值年月日即可)


create table emp(

       id  int  comment ' 编号',

       workno varchar(10) comment  ' 工号 ',

       name varchar(10)   comment  ' 姓名',

       gender char(1)  comment  '性别',

       age tinyint unsigned comment  ' 年龄',

       idcard char(18) comment  '身份证号',

       entrydate datetime comment  '入职时间'

)comment  '员工表';



点击并拖拽以移动


 输入 desc emp;


点击并拖拽以移动

​编辑

 五、DDL- 表操作-修改

添加字段

ALTEER TABLE 字段 ADD 字段名 类型(长度) [COMMENT 注释] [约束]


为 emp 增加一个新的字段"昵称"为 nickname ,类型为 varchar(10)


alter table emp add nickname varchar(20) comment '昵称';



点击并拖拽以移动


修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);


修改字段名和字段类型

ALTER TABLE 表名 CHANGE  旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

 案例:将 emp 表中的 nickname 改为 username ,类型为 varchar(30) 


alter table emp change nickname username varchar(30) comment '用户名';

 


点击并拖拽以移动

​编辑


 删除字段

ALTER TABLE 表名 DROP 字段名

案例:在 emp 表中删除 username 字段

alter table emp drop username;



点击并拖拽以移动

​编辑


 修改表名

ALTET TABLE 表名 RENAME TO 新表名

案例:将 emp 表修改为 employee

alter table emp rename employee;



点击并拖拽以移动

​编辑


六、DDL-表操作-删除

删除表

DROP TABLE[IF EXISTS] 表名



点击并拖拽以移动

​编辑  


 删除指定表,并重新创建该表

TRUNCATE TABLE 表名

 可以帮助我们清空表中的数据


点击并拖拽以移动

​编辑


发布于: 刚刚阅读数: 4
用户头像

Geek_a7ae15

关注

还未添加个人签名 2022-10-04 加入

还未添加个人简介

评论

发布
暂无评论
数据库-MySQL-基础(2)-DDL操作_MySQL_Geek_a7ae15_InfoQ写作社区