数据库--第二课
创建数据表
创建数据表之前我们先来了解一下数据类型
1.整型
TINYINT 1字节
SMALLINT 2字节
MEDIUMINT 3字节
INT 4字节
BIGINT 8字节
2.小数(浮点型)
FLOAT[(M,D]
DOUBLE[(M,D)]
其中M表示的是数字总位数,D表示的是小数点后面的位数
3.日期类型
YEAR 1字节
TIME 3字节
DATE 3字节
DATETIME 8字节
TIMESTAMP 4字节
4.字符型
CHAR(M)
VARCHAR(M)
TEXT
TINYTEXT
MEDIUMTEXT
LONGTEXT
ENUM('values','values2','values3'...) 枚举
SET('values','values2','values3'...) 集合
首先,如果要用一个数据库之前必须先要use一下
USE 数据库名
好了现在开始介绍如何创建数据表了
1.创建数据表
CREATE TABLE (IF NOT EXISTS) tb1 (column_name data_type,column_name1 data_type,.....);
例子:
CREATE TABLE tb1(id VARCHAR(20),username VARCHAR(20), sex CHAR(10),age TINYINT UNSIGNED);
其中UNSIGNED表示的是无符号位。也就是正数。
2.查看数据表
SHOW TABLES[FROM db_name];
3.查看数据结构
SHOW COLUMNS FROM tb1_name;
4.插入记录(也就是给数据表中赋值)
INSERT [INTO] tb1_name(column_name1,column_name2,..) VALUES(values1,values2);
INSERT tb1_name(username,age) VALUES("TOM",18);
或者所有的值都赋值的话
INSERT [INTO] tb1_name VALUES(values1,values2,values3,...);
5,NOT NULL和NULL
CREATE TABLE tb1_name(
username VARCHAR(20) NOT NULL,
age TINYINT UNSIGNED NULL
)
其中如果后面既没有写NULL也没有写NOT NULL的话,则表示这个数字可以为空,也就是说默认的情况下是NULL.如果设置了 NOT NULL的情况,给表插入数据时,该项不能为空。
6.AUTO_INCREMENT
自动编号,且必须与主键结合使用,默认的情况下起始值为1,每次增加1
主键为PRIMARY KEY
每一张表只有一个主键
主键把保存记录的唯一性
标有主键的数据不能为空,也就是NOT NULL;
此外千万要注意一点。AUTO_INCREMENT必须与PRIMARY KEY结合使用,但是PRIMARY KEY不一定要和AUTO_INVREMENT结合使用。
例子:
CREATE TABLE tb1(
id SAMLLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL
)
此外注意了,由于这里的id我们设置为主键,且为自增加的,所以如果我们在插入数据的时候不对这一项进行赋值的话,系统会自动的给这个值从1开始增1赋给每组数据
7.UNIQUE KEY(唯一约束)
唯一约束也能保证数据的唯一性
唯一约束可以为空值
每张数据表唯一约束可以由多个
例子:
CREATE TABLE tb5(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
age TINYINT UNSIGNED
)
INSERT tb3(username,age) VALUES("TOM",26)
INSERT tb3(username,age) VALUES("TOM",27)
这样会报错,因为username是唯一约束的,所以不能重复,
其次id是自增长的,所以可以不赋值。
8.DEFAULT (默认值)
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值
CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCAHR(20) NOT NULL UNIQUE KEY,
sex ENUM("男","女") DEFAULT "男"
)
总结一下:本章主要讲述了如何创建数据表,此外还介绍了数据标准的几大约束,及其特点。