常见的数据类型实操

常见的数据类型实操
1、Sql 测试整数类型范围

#整型
/*
特点
1.根据所占字节或保存的数值范围分类
tinyint、smallint、mediumint、int/integer、bigint
2.默认为有符号整型
3.如果超过类型的范围,会报警告,插入临界值(最大值或最小值)
4.如果想设置为无符号整型,则需要加上关键字unsigned
5.每个整型可以设置显示的宽度,int默认为11.但只能加上zerofill才能有效果
而且加上zerofill,默认为无符号整型
*/
DROP TABLE tab1;
CREATE TABLE tab1(
T1 INT(8) ZEROFILL
)
DESC tab1;
INSERT INTO tab1 VALUES(1203);
INSERT INTO tab1 VALUES(9000000000);
SELECT * FROM tab1;

2、阶段练习

#一、试创建表 Book
#字段 id,bookname,price,author
#id类型为 无符号整型,长度为12
#bookname类型为 可变字符型,最多字符数为10
#price 类型为浮点型
#author类型为可变字符型
CREATE TABLE IF NOT EXISTS Book(
id INT(12) UNSIGNED,
bookName VARCHAR(10),
price FLOAT,
author VARCHAR(10)

)

#二、分别通过两种方式向Book表中插入2行数据
#1 红楼梦 100 www
#2 西厢记 120 xxx
#方式一
INSERT INTO Book VALUES
(1,‘红楼梦’,100,‘www’),
(2,‘西厢记’,100,‘王实甫’);

#方式二
INSERT INTO Book
SELECT 1,’’,100,’’ UNION ALL
SELECT 2,’’,200,’’ ;

#三、使用分页查询显示Book表中第15到30条记录
SELECT * FROM Book LIMIT 14,16;

#四、删除价格>100的数据
DELETE FROM Book WHERE price>100;

#五、试写出五个常见的字符函数
UPPER
LOWER
LENGTH
SUBSTR
INSTR
CONCAT
LPAD
RPAD
TRIM

3、浮点型和定点型
#原则:
#1、选择能存储数值的越小类型越好
#2、类型越简单越好

#浮点型和定点型
/*
1.分类
浮点型:
float(M,D)
double(M,D)
定点型:
decimal(M,D)

  1. D和M 参数
    D表示小数位数,如果不够用0补齐,如果超过则四舍五入
    M表示整数位数+小数位数,整数部分如果超过,则报错,显示为临界值
    M和D 对于浮点型或定点型都可以省略
    但浮点型默认的精度为插入数值的精度,而定点型默认的精度为M=10,D=0

  2. 定点型和浮点型区别
    定点型的精度表示更高,比较适合处理货币运算

*/

#案例1:
DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
n1 FLOAT(5,2),
n2 DOUBLE(5,2),
n3 DECIMAL(5,2)
)

SHOW TABLES;
SELECT * FROM tab2;

INSERT INTO tab2 VALUES(123.45,123.45,123.45);
INSERT INTO tab2 VALUES(123.4,123.4,123.4);
INSERT INTO tab2 VALUES(123.456,123.456,123.456);
INSERT INTO tab2 VALUES(1235.45,1235.45,1235.45);

#案例2:
DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
n1 FLOAT,
n2 DOUBLE,
n3 DECIMAL
)

INSERT INTO tab2 VALUES(1232345678.45,123453.45,12323456789.45);
INSERT INTO tab2 VALUES(123.4,123.4,123.4);

4、字符型

#字符型
/*
char:固定长度的字符,写法 char(M)
varchar:可变长度的字符,写法 varchar(M)
text:文本,比较适合存储较大的文本,比如 日记、协议等
enum
set

1、char(M)和varchar(M):
M表示的是最多字符个数
char(M):字符个数可以省略,默认M=1
varchar(M):字符个数不可以省略

2、比较
所占的空间 效率 使用场景
char 固定的,有点浪费 高 一般存储字段的值的个数固定情况
varchar 可变的,根据值的长度 低 一般存储字段的值的个数变化较大

*/

DROP TABLE tab1;
CREATE TABLE tab1(
e1 ENUM(‘a’,‘b’,‘c’)
)

INSERT INTO tab1 VALUES(‘a’);
SELECT * FROM tab1;

5、日期型
#三、日期型
/*
1.分类:

date:只保存日期不保存时间 。‘1998-1-1’
time:只保存时间不保存日期
year:只保存年

datetime:日期+时间
timestamp:日期+时间

2.datetime和timestamp的区别

	  字节	时间范围	    是否受时区和版本等影响

datetime 8 1000——9999 不受
timestamp 4 1970-2038 受

*/

#案例
DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(
d1 DATETIME,
d2 TIMESTAMP
)

INSERT INTO tab1 VALUES(NOW(),NOW());
SELECT * FROM tab1;

SHOW VARIABLES LIKE ‘time_zone’;
SET time_zone=’+9:00’;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值