为什么关系型数据库的语法都比较相似?
IBM实验室搞了一套SQL标准(规范),结构化查询语句(Structured Query Language)。
MySQL分页
select * from 表名 limit 从第几条取 取出几条;
建表。
create table 表名 (
列名 列的数据类型(MySQL的数据类型),
....
); character set 字符集名称 collate 校对规则MySQL的数据类型中,把日期(date,年月日)和时间(datatime,时分秒)分开了。
create table users(id int, name varchar(64), pwd varchar(64), birthday date);
对于一个关系型数据库的列类型,就是一个重点!
1. bit类型
create table test1(id bit(1)); -- 1位
2. tinyint类型
create table test2 (num tinyint);
insert into test2 values (1); -- 默认是有符号,1字节
1 111 1111 (-128) ~ 00000000(0) ~ 0 111 1111 (127)
计算机整型的存储方式 … 还是很复杂的…
负数用补码来表示……
create table test3 (num tinyint unsigned); -- 定义无符号的tinyint,1字节。0 - 255
3. smallint类型 2字节
4. int类型 4字节
5. bigint类型 8字节
6. float类型 4个字节 定长
create table test4 (num float); -- 默认
insert into test4 values (45.67);
create table test5 (num float(5,1)); -- 一共5位,小数1位
insert into test5 values (45.67); -- 四舍五入!
select * from test5;
MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。
四舍五入!财务软件怎么办??
7. double类型 8个字节 定长
8. decimal,numeric 定点小数
numeric(m,d) -- d==0,整数
e.g. 在新版本中
DECIMAL(4, 1) -999.9 到 9999.9
DECIMAL(5,1) -9999.9 到 99999.9
DECIMAL(6,1) -99999.9 到 999999.9
DECIMAL(6,2) -9999.99 到 99999.99
DECIMAL(6,3) -999.999 到 9999.999
当数值在其取值范围之内,小数位多了,则直接截断小数位。
若数值在其取值范围之外,则用最大(小)值对其填充。
create table test6 (num numeric); -- 什么都不写,默认d是0了。
Query OK, 1 row affected, 1 warning (0.00 sec)。 有警告!四舍五入!
insert into test6 values (45.67); -- 46
select * from test6;
create table test7 (num numeric(5,2)); -- 一共5位,小数点2位
insert into test7 values (45.67);
insert into test7 values (45.67823); -- 四舍五入!
select * from test7;
set character_set_client=gbk; //通过mysql控制台,就可以存中文
set character_set_results=gbk; //可以看中文
之前控制台只能接收utf-8,而中文是gbk…
在控制台上,把客户端的字符集&结果字符集 改成 gbk,就可以在MySQL的控制台添加中文了。
但实际上,存储的还是utf-8,MySQL会帮忙转成utf-8。
它和datetime 最大的区别是,当你 update 某条记录的时候,该列值,它会自动更新!
create table test12 (name varchar(64), salary float, hiredate1 timestamp, hiredate2 datetime); 字段 |
属性 |
Id |
整型 |
name |
字符型 |
sex |
字符型或bit型 |
birthday |
日期型 |
entry_date |
日期型 |
job |
字符型 |
salary |
小数型 |
resume(简历) |
大文本型 |