zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

2023-06-13 09:13:09 时间

CSDN话题挑战赛第2期 参赛话题:学习笔记

目录

一、DDL-数据库操作

二、 DDL -表操作-查询

 三、 DDL -表操作-创建

四、DDL数据类型和案例

1、数值类型

2、字符串类型

3、日期类型

4、案例

 五、DDL- 表操作-修改

添加字段

修改数据类型

修改字段名和字段类型

 删除字段

 修改表名

六、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表名

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