数据类型:
数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。
整型:
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
浮点型:
FLOAT(M,D)//单精度浮点:M是总位数,D是小数点后面的位数。
DOUBLE(M,D)//双精度浮点
日期时间型:
YEAR 1
TIME 3
DATE 3
DATETIME 8
TIMESTAMP 4
字符型:
CHAR(M)
VARCHAR(M)
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
ENUM(‘value1’,’value2’,...) //枚举型
SET(‘value1’,’value2’,...)
创建数据表:
数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。
数据表示一个二维表格:
行是指记录,列是指字段。
设计数据表,先打开数据库:
//查看所有数据库:
Show databases;
//使用某个数据库:
Use test;
//查询某个数据库中的表:
Select database();
//创建表:
CREATE TABLE tb1(
username VARCHAR(20),
age TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED
);
//查看当前数据库中的数据表:
SHOW TABLES;
//查看其他数据库中的数据表:
SHOW TABLES FROM laravel01; //查看laravel01数据库下的数据表。
//查看数据表的数据结构:需要先用use切换到表所在的数据库:
SHOW COLUMNS FROM test;
//SQL记录的插入与查找:
//为拥有,id,username,password,account。四个字段的表进行操作:
//如果省略字段名称,为数据表插入内容的值必须跟表的值一一对应,不然会报错。
INSERT INTO user VALUES(12,'xiaoxue',123456,28);
//为某一部分字段赋值:
INSERT INTO user(username,password) VALUES('John',123456);
//记录查找:
SELECT * FROM user;
//空值与非空值:
NULL,字段值可以为空
NOT NULL,字段值禁止为空
//自动编号:AUTO_INCREMENT
自动编号,且必须与主键组合使用:
默认情况下,起始值为1,每次的增量为1
//主键约束:
每张数据表只能存在一个主键
主键保证记录的唯一性
主键自动为NOT NULL
AUTO_INCREMENT必须与主键组合使用。主键不一定和AUTO_INCREMENT一起使用。
//创建表tb3:
CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL,
);
);
//唯一约束:UNIQUE KEY
唯一约束可以保证记录的唯一性
唯一约束的字段可以为空值(NULL)
每张数据表可以存在多个唯一约束
//创建表tb5既包含主键索引页包含唯一索引:
CREATE TABLE tb5(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
age TINYINT UNSIGNED);
主键约束一张表只能有一个,而唯一约束一张表可以有多个。
默认约束:DEFAULT
默认值:
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
//创建表tb6
CREATE TABLE tb6(
Id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Username VARCHAR(20) NOT NULL UNIQUE KEY,
Sex ENUM('1','2','3')DEFAULT '3');