数据库的设计---DDL

1. DDL-数据库设计

数据定义语言,用来定义数据库对象(数据库,表)

数据库操作

1.查询所有数据库:show databases;
2.查询当前数据库:select databases;
3.创建数据库:create database [if not exists] 数据库名;
4.切换数据库:use 数据库名;
5.删除数据库:drop database [ if exists ] 数据库名;

表操作
创建表的流程

在这里插入图片描述

注意:
create_time:记录的是当前这条数据插入的时间
update_time:记录当前这条数据最后更新的时间

1.创建表并插入数值
create table  表名(
	字段1  字段1类型 [约束]  [comment  字段1注释 ],
	字段2  字段2类型 [约束]  [comment  字段2注释 ],
	字段3  字段3类型 [约束]  [comment  字段3注释 ],
	......
	字段n  字段n类型 [约束]  [comment  字段n注释 ] 
) [ comment  表注释 ] ;

//例如
create table tb_user (
    id int comment 'ID',
    username varchar(20) comment '用户名',
    name varchar(10) comment '姓名',
    age int comment '年龄',
    gender char(1) comment '性别'
) comment '用户表';
2.表格的5大约束

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据
目的:保证数据库中的数据的正确性、有效性和完整性

约束关键字描述
非空约束NOT NULL限制该字段的数据不能为null
唯一约束UNIQUE保证该字段的所有数据都是唯一、不重复的
主键约束PRIMARY KEY主键是一行数据的唯一标识,要求非空且唯一
默认约束DEFAULT保存数据时,如果未指定该手段的值,则采用默认值
外键约束FOREIGN KEY用来让两张表的数据之间建立连接,保证数据的一致性和完整性

约束使用代码的例子:
在这里插入图片描述

create table tb_user2 (
    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 '用户表';

主键自增 Auto_increment
具有auto_increment属性的数据列应该是一个正数序列(从1开始自增),auto_increment数据列必须有唯一索引,以避免序号重复;必须具备NOT NULL属性。

3.数据类型

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

(1)数值类型
在这里插入图片描述
(2) 字符串类型
在这里插入图片描述

char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些。

(3)日期时间类型
在这里插入图片描述

查询

(1)show tables; 查询当前数据库所有表
(2)desc 表名; 查看指定表结构
(3)查询指定表的建表语句:show create table 表名; 查看指定表的建表语句

修改

(1)添加字段
alter table 表名 add 字段名 类型 (长度) [ comment 注释 ] [ 约束 ];

例:alter table emp add qq varchar(11) comment ‘QQ号码’;

(2)修改数据类型
alter table 表名 modify 字段名 新数据类型 (长度);

例:alter table emp modify qq varchar(13);

(3)修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型 (长度) [ comment 注释 ] [ 约束 ];

例:alter table emp change qq qq_num varchar(13) comment ‘QQ’;

(4)删除字段
alter table 表名 drop 字段名;

例:alter table emp drop qq_num;

(5)修改表名
rename table 表名 to 新表名;

例:rename table emp to employee;

删除

(1)删除表

drop table [ if exists ] 表名;

(2)删除指定表, 并重新创建表

truncate table 表名;
注意: 在删除表的时候,表中的全部数据也都会被删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值