【MySQL】DDL数据定义语言(非常适合MySQL初学者学习)

102 阅读3分钟

🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:重温MySQL


在这里插入图片描述


@[toc]

🌟数据库操作

  • 创建数据库test
create database test;
  • 判断数据库test2是否存在并创建数据库
create database if not exists test2;
  • 创建数据库并指定字符集utf-8
create database test3 default character set utf8;
  • 查看当前所在库
select database();
  • 切换到数据库test2
use test2;
  • 查看test数据库的字符集
show create database test;
  • 删除数据库test
drop database test;

🌟常见的数据类型

整数型

类型大小有符号范围无符号范围用途
TINYINT1字节-128~1270~255小整数值
SMALLINT2字节-32768~327670~65535大整数值
MEDIUMINT3字节-8388608~83886070~16777215大整数值
INT4字节-2147483648~21474836470~4294967295大整数值
BIGINT8字节-9223372036854775808~92233720368547758080~18446744073709551615极大整数值

浮点型

类型大小备注用途
FLOAT(m,d)4 字节m代表总个数,d代表小数位个数单精度浮点型
DOUBLE(m,d)8字节m代表总个数,d代表小数位个数双精度浮点型

定点型

类型大小备注用途
DECIMAL(m,d)16 字节m代表总个数,d代表小数位个数银行账目计算

字符串类型

类型大小用途
CHAR0-255字节定长字符串
VARCHAR0-65535字节变长字符串
TINYTEXT0-255字节短文本字符串
TEXT0-65535字节长文本数据
MEDIUMTEXT0-16777215字节中等长度文本数据
LONGTEXT0-4294967295字节极大文本数据

日期类型

类型大小格式
DATE3字节yyyy-MM-dd
TIME3字节HH:mm:ss
YEAR1字节yyyy
DATETIME8字节yyyy-MM-dd HH:mm:ss
TIMESTAMP4字节yyyy-MM-dd HH:mm:ss

🌟数据库表操作

  • 创建数据库表
语法格式:CREATE TABLE 表名 (
字段名1 字段类型1 约束条件1 说明1,
字段名2 字段类型2 约束条件2 说明2,
字段名3 字段类型3 约束条件3 说明3
);
CREATE TABLE student (
	id tinyint(5) auto_increment default null comment '学生学号',
	name varchar(20) default null comment '学生姓名',
	age tinyint default null comment '学生年龄',
	class varchar(20) default null comment '学生班级',
	sex char(5) not null comment '学生性别',
	unique key (id)
)engine=innodb charset=utf8;
  • 创建的约束条件
comment ----说明解释
not null ----不为空
default ----默认值
unsigned ----无符号(即正数)
auto_increment ----自增
zerofill ----自动填充
unique key ----唯一值
  • 查看数据库中的所有表
show tables;
  • 查看某个表的表结构
desc 表名;---desc为describe的缩写。
  • 查看创建表的SQL语句
show create table 表名;
  • 修改表名test为test2
rename table test to test2;
  • 为test表添加name列
alter table test add name varchar(20) comment '姓名';
  • 修改test表中列num的类型为int
alter table test modify num int(10);
  • 修改test表中列num的名称为number
alter table test change num number int(10);
  • 删除test表中列number
alter table test drop number
  • 修改test表的字符集为gbk
alter table test character set gbk;
  • 删除表
drop table test;
  • 判断表是否存在并删除
drop table if exists test2;

🌟写在最后

感谢大家的阅读,如有不足请大家及时补充。最后,您的点赞是我更新的最大动力。


请添加图片描述