新手学习MySQL基础笔记二

本文介绍了MySQL中的一些主要数据类型,包括整数类型(如UNSIGNEDZEROFILL)、浮点类型(FLOAT,DOUBLE,DECIMAL)、字符串类型(CHAR,VARCHAR,TEXT,BLOB)、枚举ENUM和集合SET类型,以及时间日期类型和JSON类型。还展示了如何创建表并插入数据,以及一些特定类型的使用示例,如自动填充0和时间戳。
摘要由CSDN通过智能技术生成
-- ZEROFILL 填补0--自动添加unsigned
CREATE table number3(
n1 int UNSIGNED COMMENT"字段1",
n2 int ZEROFILL,
n3 int(3) ZEROFILL
)
INSERT into number3 values(1,1,1)
SELECT * from number3
desc number3

-- 浮点类型
-- FLOAT
-- FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
-- M 总长度(包含小数位),D 小数位
-- floatdouble近似值,decimal精确值(货币)
CREATE TABLE number4(
n1 FLOAT(10,8) COMMENT"字段1",
n2 DOUBLE(10,8) COMMENT"字段2",
n3 decimal(10,8)COMMENT"字段3")COMMENT"字段表"
desc number4
INSERT into number4 VALUES(0.1+0.3,0.1+0.3,0.1+0.3)
SELECT *from number4

CREATE TABLE number5(
n1 FLOAT(10,2) COMMENT"字段1",
n2 DOUBLE(10,2) COMMENT"字段2",
n3 decimal(10,2)COMMENT"字段3")COMMENT"字段表"
desc number5
-- 四舍五入
INSERT into number5 VALUES(1.234,1.234,1.234),(1.235,1.235,1.235)
SELECT *from number5

-- 字符串类型
-- char定长(至多255字节) ,varchar 变长(至多65535字节)
-- char10) varchar(10'ok'-->char1010字节 ,varchar(102字节
-- char效率高不省空间(密码字段) ,VARCHAR(用户名称)省空间 text(至多65535字节 文章字段 效率最低) BLOB二进制对象(视频 ,音频数据)
-- 65535/3=21844+1,一个表中的所有char,varchar总长度不能超过这个21844 一个中文占3个字节
CREATE TABLE string(
s1 char(1),
s2 VARCHAR(21844))


CREATE TABLE string2(
s1 char(10),
s2 VARCHAR(10))
desc string2 
INSERT into string2 VALUES('ab  ','ab  ')
select CONCAT(s1,'+'),CONCAT(s2,'+')from string2

-- 枚举类型  取一个值
-- enum中文名叫枚举类型,它的值范围需要在创建表时通过枚举方式显示指定,对于1~255个成员的枚举需要 1个字节存储,对于255~65535个成员,需要2个字节来存储,最多允许65535个成员
-- 忽略大小写
CREATE table string3(
sex enum('M','W','S'))

INSERT into string3(sex) values('W'),('w')
SELECT *from string3

-- SET类型  取多个值
CREATE TABLE string4(
aihao set('kanshu','guangjie','xuexi','kandianying')
)
insert into string4(aihao) values('kanshu'),('kanshu,xuexi,kandianying')
SELECT *from string4


-- 时间日期类型 
-- year 1字节 ,time 3字节,date 4字节,datetime 8字节 timestamp 4字节
-- datetime(常用) timestamp(有范围,有时区,一般需要时区转换的公司需要)  INT
-- timestamp 时间戳:格林威治时间1970-01-0100:00:00-2038~的秒(最大2147483637-- 默认是4位格式中,允许的值是1901~21550000.2位格式中,允许的值是70~69,表示从1970~2069-- time的范围-838:59:59~838:59:59
CREATE TABLE mydate(
d1 year,d2 time,d3 date,d4 datetime,d5 timestamp
)
desc mydate
INSERT into mydate values(now(),now(),now(),now(),now())
SELECT *from mydate

-- json类型 json{"name":"tom","age":18}键值双引号,对象{name:'tom',age:18}
CREATE table object1(
o1 json 
)
INSERT into object1 values('{"name":"tom","age":18}')
SELECT *from object1


-- 写一个完整表结构
CREATE TABLE admin(
id int unsigned PRIMARY key auto_increment COMMENT '编号',
username VARCHAR(30) not null UNIQUE COMMENT'会员名',
password char(32) not null COMMENT'密码',
age tinyint unsigned not null default 18 COMMENT'年龄',
sex enum('男','女') not null default'男 ' comment'性别',
email VARCHAR(60) not null unique COMMENT'邮箱',
salary DECIMAL(10,2) not null default 0 COMMENT'薪水',
created datetime not null COMMENT '创建时间'
)
desc admin
 
INSERT into admin(username,password,email,created)
values('张三',MD5('123456'),'11@163.com',NOW())
-- 注意delete清空数据 auto_increment不能重置问题
-- truncate 清空数据 auto_increment 可以重置
SELECT *from admin 
truncate admin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值