MySQL语法格式——DDL

这是为了记录MySQL语法格式所创建的「系列文」,只有简单的实践,没有解读。

DDL的英文全称是Data Definition Language,即数据定义语言,它是用于定义数据库对象的操作语句,比如数据库、表、列等。

在记录数据库和数据表的相关操作前,先介绍MySQL数据类型和Java数据类型的关系,加粗的是常见的字段类型:

(1) 字符串数据类型

MySQL字段类型说明字符数Java数据类型
char(n)固定长度最多255java.lang.String
varchar(n)可变长度最多65535java.lang.String
tinytext可变长度最多255java.lang.String
text可变长度最多65535java.lang.String
mediumtext可变长度最多 2 24 − 1 2^{24}-1 2241java.lang.String
longtext可变长度最多 2 32 − 1 2^{32}-1 2321java.lang.String

注意点:

  • char类型适合存储固定长度的字符串,比如性别,固定密码等
  • varchar类型适合存储一定范围内有长度变化的字符串
  • 对于保存字符串“Vigoroushui“:
    • a char(20) 占用20个字节
    • b varchar(20) 占用11个字节

(2) 日期类型

MySQL字段类型说明格式Java数据类型
date3字节,日期2020-12-02Date
time3字节,时间21:15:32Date
datetime8字节,日期时间2020-12-02 21:15:32Date
text4字节,自动存储记录修改的时间java.sql.Timestamp
year1字节,年份Date

(3) 整型类型

MySQL字段类型字节数范围Java数据类型
tinyint1-128~127int
smallint2-32768~32767int
mediumint3-8388608~8388607int
int4-2147483648~2147483647int
bigint8 − 9.22 × 1 0 18 -9.22\times10^{18} 9.22×1018 9.22 × 1 0 18 9.22\times10^{18} 9.22×1018int

(4) 浮点类型

MySQL字段类型说明含义Java数据类型
float(m, d)4字节, 单精度m总个数,d小数位float
double(m, d)8字节,双精度m总个数,d小数位double
decimal(m, d)存储为字符串的浮点数double

1.数据库相关操作

1.1 数据库的创建

语法格式:

(1) 创建指定名称的数据库

CREATE DATABASE 数据库名;

(2) 创建指定名称的数据库,并指定字符集,通常为utf8

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

例子:

CREATE DATABASE db1; /* 默认字符集: latin1*/
CREATE DATABASE db2 CHARACTER SET utf8;

1.2 数据库的查看与选择

语法格式:

(1) 切换数据库

USE 数据库名;

(2) 查看正在使用的数据库

SELECT DATABASE();

(3) 查看MySQL中的所有数据库

SHOW DATABASES;

(4) 查看指定数据库的定义信息

SHOW CREATE DATABASE 数据库名;

1.3 数据库的修改

语法格式:

(1) 修改数据库的字符集

ALTER DATABASE 数据库名 CHARACTER SET 字符集; 

例子:

/* 将数据库db1的字符集修改为utf8 */ 
ALTER DATABASE db1 CHARACTER SET utf8;
/* 查看当前数据库的基本信息,发现编码已更改 */ 
SHOW CREATE DATABASE db1;

1.4 数据库的删除

语法格式:

(1) 从当前服务器MySQL中永久删除指定数据库

DROP DATABASE 数据库名;

2. 数据表相关操作

2.1 表的创建

语法格式:

(1) 创建一个表

CREATE TABLE 表名(
  字段名称1 字段类型(长度),
  字段名称2 字段类型(长度) -- 注:最后一列不加逗号 
);

(2) 快速创建一个表结构相同的表创建一个表

CREATE TABLE 新表 like 旧表;

2.2 表的查看

语法格式:

(1) 查看当前数据库中的所有表名

SHOW TABLES;

(2) 查看数据表的结构

DESC 表名; 

(3) 查看创建表的SQL语句

SHOW CREATE TABLE 表名; 

2.3 表的删除

语法格式:

(1) 从数据库中永久删除指定的表

DROP TABLE 表名;

(2) 判断表是否存在,存在即删除,不存在即不执行该操作

DROP TABLE IF EXISTS 表名;

2.4 表的修改

语法格式:

(1) 修改表名

RENAME TABLE 旧表名 TO 新表名;

(2) 修改表的字符集

ALTER TABLE 表名 CHARACTER SET 字符集;

(3) 向表中添加列

ALTER TABLE 表名 ADD 字段名称 字段类型;

(4) 修改表中列的数据类型或长度

RENAME TABLE 表名 MODIFY 字段名称 字段类型;

(5) 修改列名称

ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度);

(6) 删除列

ALTER TABLE 表名 DROP 列名;

例子:

/* 仅对3-6进行演示 */
ALTER TABLE db ADD descri varchar(20);
RENAME TABLE db MODIFY descri varchar(30);
ALTER TABLE db CHANGE descri describ varchar(50);
ALTER TABLE db DROP describ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值