数据类型和操作数据表
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。
对于有符号数最高位为符号位,但是字符型是无符号数,所以27+26+25+24+23+22+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'
);