数据库学习day02

6 DDL 操作表结构

  • 前提先使⽤某个数据库 (use 数据库)
6.1 创建表
  • 创建表的格式
CREATE TABLE 表名 (
	字段名 1 字段类型 1,
	字段名 2 字段类型 2
);
  • 关键字说明
创建表的关键字说明
CREATE创建
TABLE
6.2 MySQL数据类型
  • 常使⽤的数据类型如下:
类型描述
int整型
double浮点型
varchar字符串型
date⽇期类型,格式为 yyyy-MM-dd,只有年⽉⽇,没有时分秒
  • 详细的数据类型如下
分类类型名称类型说明
整型tinyInt微整型:很⼩的整数(占 8 位⼆进制)
smallint⼩整型:⼩的整数(占 16 位⼆进制)
mediumint 中整型:中等⻓度的整数(占 24 位⼆进制)
int(integer)整型:整数类型(占 32 位⼆进制)
小数float单精度浮点数,占 4 个字节
double双精度浮点数,占 8 个字节
日期time表示时间类型
date表示⽇期类型
datetime同时可以表示⽇期和时间类型
字符串char(m)固定⻓度的字符串,⽆论使⽤⼏个字符都占满全部,M 为0~255之间的整数
varchar(m)可变⻓度的字符串,使⽤⼏个字符就占⽤⼏个,M 为0~65535 之间的整数
大二进制tinyblob允许⻓度 0~255 字节
blob允许⻓度 0~65535 字节
mediumblob允许⻓度 0~167772150 字节
longblob允许⻓度 0~4294967295 字节
大文本tinytext允许⻓度 0~255 字节
text允许⻓度 0~65535 字节
mediumtext允许⻓度 0~167772150 字节
longtext允许⻓度 0~4294967295 字节
  • 具体操作
-- 创建student表包含id,name,birthday字段
create table student (
	id int, -- 整数
	name varchar(20), -- 字符串
	birthday date -- ⽣⽇,最后没有逗号
);
6.3 查看表
  • 查看某个数据库中的所有表
    SHOW TABLES;
  • 查看表结构
    DESC 表名;
  • 查看创建表的SQL语句
    SHOW CREATE TABLE 表名;
  • 具体操作
-- 查看day21数据库中的所有表
use day21;
show tables;
-- 查看student表的结构
desc student;
  • 执行结果:在这里插入图片描述
  • 执⾏结果:
CREATE TABLE `student` (
	`id` int DEFAULT NULL,
	`name` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
	`birthday` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

`` 存在的⽬的是为了避免关键字的冲突

6.4 快速创建⼀个表结构相同的表
  • 语法
    CREATE TABLE 新表名 LIKE 旧表名;
  • 具体操作
-- 创建s1表,s1表结构和student表结构相同
create table s1 like student;
desc s1;
6.5 删除表
  • 直接删除表
    DROP TABLE 表名;
  • 判断表是否存在,如果存在则删除表
    DROP TABLE IF EXISTS 表名;
  • 具体操作
-- 直接删除表 s1 表
drop table s1;
-- 判断表是否存在并删除 s1 表
drop table if exists `create`;

与直接删除的区别:如果表不存在,不删除,存在则删除

6.6 修改表结构
  • 添加表列 ADD
    ALTER TABLE 表名 ADD 列名 类型;
  • 具体操作
-- 为学⽣表添加⼀个新的字段remark,类型为varchar(20)
alter table student add remark varchar(20);
  • 修改列类型 MODIFY
    ALTER TABLE 表名 MODIFY 列名 新的类型;
  • 具体操作
-- 将student表中的remark字段的改成varchar(100)
alter table student modify remark varchar(100);
  • 修改列名 CHANGE
    ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
  • 具体操作
-- 将student表中的remark字段名改成intro,类型varchar(30)
alter table student change remark intro varchar(30);
  • 删除列 DROP
    ALTER TABLE 表名 DROP 列名;
  • 具体操作
-- 删除student表中的字段intro
alter table student change remark intro varchar(30);
  • 修改表名
    RENAME TABLE 表名 TO 新表名;
  • 具体操作
-- 将学⽣表student改名成student2
rename table student to student2;
  • 修改字符集 character set
    ALTER TABLE 表名 character set 字符集;
  • 具体操作
-- 将student2表的编码修改成gbk
alter table student2 character set gbk;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值