SQL(Structured Query Language),结构化查询语言。
是一种操作关系型数据库的编程语言,定义了一套操作关系型数据库统一 SQL 标准。
关系型数据库: 由多张相互连接的二维表组成的数据库,就像Excel一样,由行和列组成的二维表。
特点:
-
使用表存储数据,格式统一,便于维护
-
使用SQL语句操作,标准统一,使用方便
-
数据存储在磁盘中,安全
代表:
-
Mysql
-
Oracle
-
1 数据类型
-
数字
-
类型 大小 描述 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)
# 给指定字段添加数据
insert into 表名 (字段1,字段2...) values (值1,值2...);
# 给全部字段添加数据
insert into 表名 values (值1,值2...);
# 批量添加数据
insert into 表名 (字段1,字段2...) values (值1,值2...),(值1,值2...),(值1,值2...);
insert into 表名 values (值1,值2...),(值1,值2...),(值1,值2...);
修改数据(UPDATE)
update 表名 set 字段1=值1, 字段2=值2,...[where 条件]
如果没有条件,则会修改整张表的所有数据
删除数据(DELETE)
delete from 表名 [where 条件]
如果没有条件,则会删除整张表的所有数据
条件(where)
# 运算符
=、!=、<>、<、<=、>、>=、
# 关键字
BETWEEN…AND、IN(set)、IS NULL、AND、OR、NOT
in(3,7)3跟7被删除;