0
点赞
收藏
分享

微信扫一扫

【MySQL】-数据库设计DDL(包含数值类型)

一、DDL(数据库操作)

1.查询

查询所有数据库:show databases;

查询当前数据库:select database();【MySQL】-数据库设计DDL(包含数值类型)_MySQL【MySQL】-数据库设计DDL(包含数值类型)_数据库_02


2.使用

使用数据库:use 数据库名;【MySQL】-数据库设计DDL(包含数值类型)_MySQL_03

3.创建

创建数据库:create database[if not exists] 数据库名;

【MySQL】-数据库设计DDL(包含数值类型)_数据库_04

4.删除

删除数据库:drop database[if exists] 数据库名;

【MySQL】-数据库设计DDL(包含数值类型)_数据库_05

注意:上述语法中的database,也可以替换成schema.

二、MySQL客户端工具

在DOS窗口使用SQL语句时,我们会发现,直接在这里们操作数据库很不方便

没有任何语句提示,容易让语句错误

操作而且很繁琐

每次关掉以后没有任何历史记录

让大家用户体验很差

所以就有了MySQL客户端工具-图形化工具【MySQL】-数据库设计DDL(包含数值类型)_MySQL_06

一般情况下,都是直接使用IDEA来进行操作

【MySQL】-数据库设计DDL(包含数值类型)_数据库_07

【MySQL】-数据库设计DDL(包含数值类型)_数据库_08

其实我们可以发现,使用客户端工具以后,很多都能直接看见了,我们想要展示全部的数据库,不要输入SQL语句也可以,我们在左侧是可以直接看见的,还有删除以及创建数据库等等,都可以直接操作,不用输入指令

三、表(创建、查询、修改、删除)

创建

【MySQL】-数据库设计DDL(包含数值类型)_MySQL_09

例子

例如我要创建下面这张表时,我该怎么去创建【MySQL】-数据库设计DDL(包含数值类型)_数据库_10

答案如下:

create table tb_user(
    id int comment 'ID,唯一标识',
    username varchar(20) comment '用户名',
    name varchar(10) comment '姓名',
    age int comment '年龄',
    gender char(1) comment '性别'
) comment '用户表';

【MySQL】-数据库设计DDL(包含数值类型)_数据库_11

我们如何利用图形化界面直接添加数据呢

【MySQL】-数据库设计DDL(包含数值类型)_MySQL_12

约束

我们在上表中注释到ID是唯一标识,但是那只是我们的注释这样写了而已,要想确保ID确实是唯一标识,我们还得使用约束。

约束:约束是作用于表中字段上的规则,用于限制存储在表中的数据。

目的:保证数据库中数据的正确性、有效性和完整性。

【MySQL】-数据库设计DDL(包含数值类型)_数据库_13

现在我们来对上面的表按要求进行约束【MySQL】-数据库设计DDL(包含数值类型)_数据库_14

create table tb_user(
    id int primary key auto_increment comment 'ID,唯一标识',
    username varchar(20) not null unique comment '用户名',
    name varchar(10) not null comment '姓名',
    age int comment '年龄',
    gender char(1) default '男' comment '性别'
) comment '用户表';

数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

数值类型

【MySQL】-数据库设计DDL(包含数值类型)_MySQL_15

注意:在没有加unsigned都认为是有符号范围

例如:

在上表中age 应该用哪种数值类型呢

age tinyint unsigned(年龄没有负数)

分数score应该用哪种数值类型

score double(4,1)

字符串类型

【MySQL】-数据库设计DDL(包含数值类型)_MySQL_16

解释说明

char(10):代表最多只能存10个字符,不足10个字符,也会占用10个字符空间,所以说char是定长的,当你用char了以后,最开始定义了多大的空间它就会占用多大的空间

varchar(10):代表最多只能存10个字符,不足10个字符,按实际长度存储,所以varvhar是不定长的,实际占用了多少空间就是多少空间

注意:char 性能高,浪费空间,varchar性能低,节省空间

日期类型

【MySQL】-数据库设计DDL(包含数值类型)_数据库_17

查询

-- DDL:查看表结构
show tables;

-- 查看:查看指定表结构
desc tb_emp;

-- 查看:数据库的建表语句
show create table tb_emp;

现在一般都是通过图形化工具来操作【MySQL】-数据库设计DDL(包含数值类型)_MySQL_18

修改

【MySQL】-数据库设计DDL(包含数值类型)_数据库_19

-- DDL:修改表结构
-- 修改:为表 tb_emp添加字段 qq varchar(11)
alter table tb_emp add qq varchar(11) comment 'QQ';

-- 修改:修改 tb_emp字段类型 qq varchar(13)
alter table tb_emp modify qq varchar(13) comment 'QQ';

-- 修改 tb_emp 字段名 qq 为qq_num varchar(13)
alter table tb_emp change qq qq_num varchar(13) comment '13';

-- 删除 tb_emp 的qq_num 字段
alter table tb_emp drop column qq_num;

-- 修改:将 tb_emp表名改为emp
rename table tb_emp to emp;

我们依旧可以通过图形化界面直接来操作

删除

drop table if exists tb_emp;

【MySQL】-数据库设计DDL(包含数值类型)_数据库_20

注意:在删除表时,表中的全部数据也会被删除

举报

相关推荐

0 条评论