字段类型:
-
整数型
TINYINT–1B 有符号:-128–127 无符号:0–255
SMALLINT–2B
MEDIUMINT–3B
INT–4B 有符号:-2147483648–2147483647 无符号:0–4294967295
BIGINT–8B -
浮点数型
FLOAT–4B
DOUBLE-8B
DECIMAL(M,D)–17B -
字符串型
CHAR(M) 0–255
VARCHAR(M) 0–65535
TINYTEXT 文本型
TEXT 文本型
VARBINARY(M) 变长字符串 -
二进制类型
TINYBLOB 255B 0–255B
BLOB 65K 0–65K
MEDIUMBLOB 16M 0–16M
LONGBLOB 4G 0–4G -
日期和时间类型
YEAR 1B YYYY 1901–2155
DATE 3B YYYY-MM-DD 1000-01-01 – 9999-12-31
TIME 3B HH:MM:SS -835:59:59–835:59:59
TIMESTAMP 4B YYYYY-MM-DD HH:MM:SS 1970-1-1 0:00:00
DATETIME 8B YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 – 9999-12-31 23:59:59
创建一个库:
#查看根目录下的数据库名字
SHOW DATABASES;
#在根目录下创建一个数据库
CREATE DATABASE 数据库名;
#进热,使用指定的库
USE 数据库名;
创建一个表:
#在当前库中,创建一个表。
CREATE TABLE 表名(主键名 INT 主键 自增,字段1 数据类型 是否为空,字段2);
例如:
#创建一个班级,表包含班级名称,班级信息。
CREATE TABLE CLASS(id INT PRIMARY KEY AUTO_INCREMENT,classname VARCHAR(50) NOT NULL UNIQUE,message VARCHAR(50),isRun INT DEFAULT 0)
#创建一个与CLASS关联的学生表,表中包含学生姓名,年纪。cid关联CLASS中的id,然后规定cid不能被删除或者篡改。
CREATE TABLE STUDENT_INFO(id INT PRIMARY KEY AUTO_INCREMENT,studentname VARCHAR(10),age INT,cid INT,FOREIGN KEY(cid) REFERENCES CLASS(id) ON DELETE CASCADE ON UPDATE CASCADE);
数据添加:
INSERT INTO 表名;
#例如:把班级名字:网络安全一班,班级信息:教操作系统基础,数据库,密码学。添加到CLASS中
INSERT INTO CLASS(classname,message) VALUES(‘网络安全一班’,‘教操作系统基础,数据库,密码学’);
#多行添加,用“,”分开要添加的项目。
INSERT INTO CLASS(classname,message) VALUES(‘网络安全一班’,‘教操作系统基础,数据库,密码学’),(‘网络安全二班’,‘教网络概述,协议分析’),(‘网络安全三班’,‘教渗透测试’);
查看信息:
SELECT * FROM 表名;
#例如:
SELECT * FROM CLASS;
修改更新表:
#例如:把三班改成四班。
UPDATE CLASS SET classname=‘网络安全四班’ WHERE id=3;
如果不知道id的话
UPDATE CLASS SET classname=‘网络安全四班’ WHERE classname=‘网络安全三班’;
一般没有修改权限。
删除表
例如:
DELETE CLASS WHERE classname=‘网络安全三班’;
或者:
DELETE CLASS WHERE id=3;