首页 > 代码库 > MySQL-mysql 数据类型,操作数据表,记录操作

MySQL-mysql 数据类型,操作数据表,记录操作

一,数据类型

技术分享技术分享

 

各日期类型的开始时间到结束时间:
1、YEAR:1970至2069
2、TIME:-838:59:59至838:59:59
3、DATE:1000-1-1至9999-12-31
4、DATETIME: 1000-1-1 00:00:00至9999-12-31 23:59:59
5、TIMESTAMP存储范围:1970-1-1 00:00:00到2037-12-31 23:59:59

字符型
1、CHAR(M):定长类型,比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格0——255
2、VARCHAR(M):变长类型,L+1个字节,其中L<=M且0<=M0——65535
3、ENUM(‘value1‘,‘value2‘...)枚举值,提供几个选项,选择其中一个,如:性别(‘男‘,‘女‘,‘保密‘)
4、SET(‘value1‘,‘value2‘...) 最多64个成员,可以任选里面其中几个,任意排列组合

技术分享技术分享


 

二,数据表
数据表
1、数据表(或表)是数据库最重要的组成部分之一,是其他对象的基础
2、表是一个二维表,行称为【记录】,列称为【字段】
创建数据表
1、首先打开数据库(数据库要存在): USE 数据库名称
2、创建数据表:CREATE TABLE [IF NOT EXISTS] table_name(
column_name(列名称) data_type(列类型),
.... )
举例——
CREATE TABLE tb1(
username VARCHAR(20),
userage TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED,
);

UNSIGNED 无符号

查看数据表:(查看选择的数据库的表)
SHOW TABLES [FROM db_name] [LIKE ‘pattern‘ | WHERE expr];(可以用来查看其他数据库的表列表)
例:
SHOW TABLES;//查看当前选择的数据库的所有表
SHOW TABLES FROM TEST;//查看TEST数据库中的所有表,当前选择数据库位置不变。

SELECT DATABASE();//查看当前选择的数据库

技术分享技术分享

 

 

 

查看数据表列表
SHOW TABLES [FROM db_name] [LIKE ‘pattern‘ | WHERE expr]
SHOW TABLES; //查看当前数据库中的表
SHOW TABLES FROM mysql; 
FROM之后,当前数据库不会发生改变
SHOW COLUMNS FROM tb1; 查看tb1中的数据表结构

技术分享

 

插入记录(插入表中的行)
INSERT tbl_name [字段(colume),...] VALUES(val,...);
省略字段后,values(记录内容必须按照表列顺序也就是字段顺序以逗号分隔,且插入内容一个不能少);
若不省略字段(可部分省略,省略部分记录自动为空),values(记录内容按照字段插入内容,写几个字段插入几个内容);
记录查找(多表查原理笛卡尔积):
SELECT ecpr(表达式),...FROM tbl_name;
星号是字段的过滤:SELECT * FROM tb1; *字段的过滤,全部记录

技术分享技术分享

 

 

空值与非空:
  NULL,字段值可以为空
  NOT NULL,字段值禁止为空,不赋值会报错

自动编号 AUTO_INCREMENT 
自动编号,且必须与主键配合使用
1、自动编号:保证记录的唯一性
2、类型必须为整型(可以是FLOAT(5,0)等,小数点后必须为0),必须和主键PRIMARY KEY组合使用
3、默认情况下,起始值为1,每次的增量为1
CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT,
username VARCHAR(30) NOT NULL); //报错,自动增量字段必须设置成主键

技术分享技术分享

 

 

主键约束
1、唯一性(可以赋值但是不能给两个记录赋一样的值)每张表只存在一个主键
2、非空,插入方式与NOT NULL一样
3、自动编号(AUTO_INCREMENT)必须与主键(PRIMARY KEY)搭配使用,主键可以不与自动编号一起使用

1.primary key 
主键约束
一个表中只能有一个

2.UNIQUE KEY 唯一约束
(1)唯一约束可以保证记录的唯一性
(2)唯一约束的字段可以为空值(NULL)  (但只能有一个空值)
(3)每张数据表可以存在多个唯一约束

技术分享技术分享

 

 

default 默认值(默认约束)
当插入记录时 如果没有明确为字段赋值 则自动赋予默认值

技术分享

 





MySQL-mysql 数据类型,操作数据表,记录操作