MySQL学习(3):SQL语句之数据定义语言:DDL

1.SQL通用语法与分类

(1)通用语法

(2)分类

2.DDL

2.1数据库操作

show DATABASES;
#查询所有数据库

select DATABASE();
#查询当前数据库

create DATABASE 数据库名称 [default charest 字符集] [collate 排列规则];
#default charest 字符集 是用来指定所创建的数据库使用的字符集的

drop DATABASE 数据库名称;
#删除数据库

use 数据库名称;
#使用指定数据库

2.2表操作

表操作是在数据库内进行的,也就是使用 use 数据库名称;进入数据库后使用的

2.2.1表的查询

show TABLES;
#查询当前数据库所有表

desc 表名;
查询表结构

show create table 表名;
查询指定表的建表语句

2.2.2表的创建

2.2.2.1表的数据类型

数据库中表的数据类型大致可分为3类:数值类型、字符串类型、日期时间类型

(1)数值类型

*整数类型

类型大小有符号范围无符号范围

迷你整型:

tinyint

1个字节(-2^7 ,2^7-1)(0,2^8-1)

短整型:

smallint

2个字节(-2^15 ,2^15-1)(0,2^16-1)

中整型:

mediumint

3个字节(-2^23 ,2^23-1)(0,2^24-1)

标准整型:

int

4个字节(-2^31 ,2^31-1)(0,2^32-1)

大整型:

bigint

8个字节(-2^63 ,2^63-1)(0,2^64-1)

有符号代表有负数,是默认类型;无符号代表纯正数,需要加unsigned来标识

*小数类型

类型大小有效数字默认范围(非指定)指定方法数据规范
单精度浮点:float4个字节6-7位

整数部分不超过最大值,小数部分保留2位

float/double(总长度,小数部分长度)超过有效数字范围会四舍五入
双精度浮点:double8个字节14-15位
定点型:decimal数据越大占用的存储空间越大

65位

10位有效整数,0位小数

decimal(有效数位,小数部分数位)

整数部分超出报错

小数部分超出四舍五入

有效数字:从第一个非零的数字算起的所有数字。1.24和0.00124的有效数字都是3位

decimal(5,3)就可以设定一个23.123这样的总体有效数字5位,小数位3位的数字

(2)字符串类型

类型大小描述
char0-255字符定长字符串
varchar0-65535字符

变长字符串

blob(基本不用)

二进制数据(音频视频等)

text0到2 ^ 16 - 1个字符文本数据

*在效率上来说char比varchar更好,但是char会占据固定的存储空间,而varchar会根据存储内容调整占据的空间。比如char(10)一定会占据10个字符的空间,而varchar(10)只是限定数据不超过10个字符

*字符串也是可以包含数字的

*文本text还有其他大小不同的类型

迷你文本tinytext不超过2 ^ 8 -1个字符
普通文本text不超过 2 ^ 16 - 1个字符
中型文本mediumtext不超过 2 ^ 24 - 1 个字符
长文本longtext不超过 2 ^ 32 - 1 个字符

(3)时间类型

类型大小可表示范围与格式描述
date3个字节1000-01-01到9999-12-31日期
time3个字节-838:59:59到838:59:59时间
datetime8个字节

1000-01-01 00:00:00到9999-12-31 23:59:59

日期和时间
year1个字节1901到2155年份
timestamp4个字节

1970-01-01 00:00:01到2038-01-19 03:14:07

日期和时间,时间戳
2.2.2.2创建语句
create table 表名(
    字段1  类型,
    字段2  类型,
    字段3  类型,
......
    字段n  类型
);
#除了最后一段,其他字段末尾都要以英文逗号隔开
create table jjj(
age int unsigned,
#在类型名后加上unsigned,可以限制它为非负
number int
);

2.2.3表的修改

(1)添加与删除字段

alter table 表名 add 字段名 类型;
#添加字段

alter table 表名 drop 字段名;
#删除字段

(2)修改字段及类型

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

alter table 表名 change 旧字段名 新字段名 类型(长度);
#修改字段名、数据类型

(3)修改表名

alter table 表名 rename to 新表名;

(4)删除表

drop table 表名;
#删除表

truncate table 表名;
#清空表内数据,但保留表

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值