SQL(Structured Query Language)——(关系型数据库),结构化查询语言,由多张相互连接的二维表组成的数据库,由行和列组成的二维表。
- 数字
类型 | 大小 | 描述 |
---|---|---|
TINYINT | 1 byte | 小整数值 |
INT或INTEGER | 4 bytes | 整数值 |
FLOAT | 4 bytes | 单精度浮点数值 |
DECIMAL |
- 字符串
类型 | 大小 | 描述 |
---|---|---|
CHAR | 0-255 bytes | 定长字符串 |
VARCHAR | 0-65535 bytes | 变长字符串 |
TEXT | 0-65 535 bytes | 长文本数据 |
- 日期类型
类型 | 格式 | 描述 |
---|---|---|
DATE | YYYY-MM-DD | 日期值 |
TIME | HH:MM:SS | 时间值或持续时间 |
YEAR | YYYY | 年份值 |
DATETIME | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 混合日期和时间值,时间戳 |
CHAR和VARCHAR的区别:
- char不论你实际存储了多少的字符,都会占用设置的n个字符空间 , 比如手机号码,性别,身份证号等
- varchar它存储的长度并不固定, 实际使用多少就占用多少
DATETIME和TIMESTAMP区别:
TIMESTAMP: 1970-01-01 00:00:01.000000’到 2038-01-19 03:14:07.999999。
DATETIME: 1000-01-01 00:00:00.000000到 9999-12-31 23:59:59.999999。
对于跨时区的业务,TIMESTAMP更为合适。
表操作(增删改查)
增
#添加数据
#给全部字段添加数据
INSERT INTO shop VALUES (1, '香皂', 11.60, '个', '2020-08-22 06:00:00');
INSERT INTO shop VALUES (2, '洗发水', 20.80, '瓶', NULL);
INSERT INTO shop VALUES (3, '洗脸盆', 30.75, '个', NULL);
INSERT INTO shop VALUES (4, '海狸先生烤鳗鱼片', 59.50, '袋', NULL);
INSERT INTO shop VALUES (5, '昔日印象香酥小黄鱼干', 25.90, '袋', NULL);
INSERT INTO shop VALUES (6, '海狸先生低脂碳烤鳕鱼片', 15.20, '袋', NULL);
INSERT INTO shop VALUES (7, '食盐', 5.00, '袋', NULL);
INSERT INTO shop VALUES (8, '白糖', 6.00, '袋', NULL);
INSERT INTO shop VALUES (9, '味精', 8.00, '袋', NULL);
#给指定字段添加数据
INSERT INTO shop(shop_number,shop_date) VALUES (10, '2020-08-22 06:00:00');
#批量添加数据
INSERT INTO shop(shop_number,shop_date) VALUES (11, '2020-08-22 06:00:00'),(12,'2020-08-22 06:00:00');
INSERT INTO shop(shop_number,shop_date) VALUES (13, '2020-08-22 06:00:00'),(14,'2020-08-22 06:00:00');
删
#删除数据
DELETE from shop where shop_name is null;
DELETE from shop where shop_number=9;
改
#修改数据
update shop set shop_number=15 where shop_number=8;
查
#条件查询(where)
/*
BETWEEN a and b 查询 a到b之间
a and b 查询 条件a和条件b 两个条件符合输出
a or b 查询 条件a或条件b 两者其一条件符合输出
*/
select * from shop where shop_number BETWEEN 1 and 5;
select * from shop where shop_number>1 and shop_name='食盐';
select * from shop where shop_number>1 or shop_name='食盐';
/*
%匹配0或多个字符
*/
select * from shop where shop_name like'%水';
select * from shop where shop_name like'%皂';
/*
_匹配一个字符
*/
select * from shop where shop_name like'__水';
select * from shop where shop_name like'_皂';
between and、and、or(依次截图)
%匹配字符(0个或多个字符)
_匹配字符(1个字符)