1字节byte=8位bit
无符号 UNSGINED
TINYINT 1byte
SMALLINT 2byte
MEDIUMINT 3byte
INT 4byte
BIGINT 8byte
DOUBLE[(M, D)]
TIME
DATE
DATETIME
TIMESTAMP 时间戳
关系型数据库:二维表格
打开数据库:USE 数据库名称;
显示当前数据库:SELECT DATABASE();
CREATE TABLE tbl(
-> username VARCHAR(20),
-> age TINYINT UNSIGNED,
-> salary FLOAT(8,2) UNSIGNED
->);
SHOW TABLES;
SHOW TABLES FROM mysql; //from某一个库当前数据库不会改变
SELECT DATABASE; //当前数据库仍为test
SHOW CREATE TABLE tbl_name; //查看数据表的属性
DESC tbl_name;
例:
INSERT tbl VALUES('Tom', 25, 7863.25);
INSERT tbl(username,salary) VALUES('John',4500.69);
NOT NULL 字段禁止为空
例:
CREATE TABLE tb2(
->username VARCHAR(20) NOT NULL,
->age TINYINT UNSIGNED NULL
->);
SHOW COLUMNS FORM tb2;
INSERT tb2 VALUES('Tom', NULL); // OK
INSERT tb2 VALUES(NULL,26); // ERROR
整型
有符号无符号 UNSGINED
TINYINT 1byte
SMALLINT 2byte
MEDIUMINT 3byte
INT 4byte
BIGINT 8byte
![]() |
浮点型
FLOAT[(M, D)] M是数字总位数,D是小数点后面的位数。DOUBLE[(M, D)]
日期时间型:使用较少,时区问题
YEARTIME
DATE
DATETIME
TIMESTAMP 时间戳
字符型
SET 集合 任意排列组合![]() |
数据表
数据对象的基础关系型数据库:二维表格
打开数据库:USE 数据库名称;
显示当前数据库:SELECT DATABASE();
【创建数据表】CREATE TABLE [IF NOT EXISTS] table_name( column_name data_type, ...);
例:CREATE TABLE tbl(
-> username VARCHAR(20),
-> age TINYINT UNSIGNED,
-> salary FLOAT(8,2) UNSIGNED
->);
【查看数据表列表】SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr];
不仅可以查看当前数据库的数据表列表,也可以查看其它数据库的。SHOW TABLES;
SHOW TABLES FROM mysql; //from某一个库当前数据库不会改变
SELECT DATABASE; //当前数据库仍为test
SHOW CREATE TABLE tbl_name; //查看数据表的属性
【查看数据表结构】
SHOW COLUMNS FROM tbl_name;DESC tbl_name;
【插入记录】INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...);
省略列名称则需要为所有字段赋值,否则出错。例:
INSERT tbl VALUES('Tom', 25, 7863.25);
INSERT tbl(username,salary) VALUES('John',4500.69);
【记录查找】SELECT expr,... FROM tbl_name;
SELECT * FROM tbl; // *表示字段的过滤【添加属性 空值与非空】
NULL 字段值可以为空NOT NULL 字段禁止为空
例:
CREATE TABLE tb2(
->username VARCHAR(20) NOT NULL,
->age TINYINT UNSIGNED NULL
->);
SHOW COLUMNS FORM tb2;
INSERT tb2 VALUES('Tom', NULL); // OK
INSERT tb2 VALUES(NULL,26); // ERROR