MySQL学习之路(二)——数据类型和操作数据表
数据类型和操作数据表
2.1 mysql类型之整型
2.2 mysql数据类型之浮点型
2.3 日期时间型
date 1支持时间:1000年1月1日~9999年12月31日
datetime 3 支持时间:1000年1月1日0时0秒~9999年12月31日23时59分59秒
timestamp 3 支持时间:1970年1月1日~2037年12月31日
time 8 支持时间:-8385959~8385959
year 4 支持时间:1970-2069
2.4 字符型
char:定长,不足则后面补空格
varchar:不定长(可变的: variable)
l+1或l+2里多出来的字节是用来保存数据值的长度的。在对长度可变的数据进行处理时,mysql要把数据内容和数据长度都保存起来。
1指l的最大存储范围,1个字节即8个1。
对于有符号数最高位为符号位,但是字符型是无符号数,所以2^7+2^6+2^5+2^4+2^3+2^2+2^1+1=255,即第一个l<=255。
四种数据类型:
整型:tinyint smallint mediumint bigint
浮点型:float or double[(m,d)] m是数字的总位数 d是小数点后的位数
日期时间类型:用的较少,多以时间戳的形式存储
- 字符型 char(5) 五个字节长的char类型
2.5创建数据表
数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础.
use:打开数据表
use 数据库名称; mysql登录步骤:
1.输入用户名-u
2.输入密码-p
3.输入端口号-p(大写)
展示所有数据库:show databases
打开将要执行的数据库:use database 库名
展示一打开的数据库:设了select database
create table tb1(
username varchar(20),
age tinyint unsigned,
salary float(8,2) unsigned
);
//创建了张tb1表,包含用户名,年龄,工资.
2.6 查看数据表
show tables [from db_name] [like 'pattern' | where expr]
2.7 查看数据表结构
show columns from tbl_name
2.8 mysql记录的插入与查找
插入记录:insert [into] tblname [(colname,...)] values(val,..)
insert into tb1 values('jack',18,6000.00);
记录查找:select expr,... from tbl_name;
select * from tb1;
2.9 mysql空值 与 非空
null ,字段值可以为空
not null ,字段值禁止为空
在插入字段的时候添加null和not null
2.10 自动编号
auto_increment
自动编号,且必须与主键组合使用
默认情况下,起始值为1,每次的增量为1;
2.11 初涉主键约束:
primary key
主键约束
每张数据表只能存在一个主键
主键保证记录的唯一性
主键自动为not null
auto_increment一定要跟primary key一起使用,
但是primayr key 不一定要跟auto_increment一起使用.
2.12 初涉唯一约束
unique key
唯一约束
唯一约束可以保证记录的唯一性
唯一约束的字段可以为空值(null)
每张数据表可以存在多个唯一约束
create table tb5(
id smallint unsigned auto_increment primary key,
username varchar(20) not null unique key,
age tinyint unsigned
);
2.13 默认约束
default
默认值
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值.
create table tb6(
id smallint unsigned auto_increment primary key,
username varchar(20) not null unique key,
sex enum('1','2','3') default '3'
);