关于MYSQL 你需要知道的数据类型和操作数据表

数据类型和操作数据表

1.1 MySQL类型之整型

1.2 MySQL数据类型之浮点型

1.3 日期时间型

DATE 1支持时间:1000年1月1日~9999年12月31日
DATETIME 3 支持时间:1000年1月1日0时0秒~9999年12月31日23时59分59秒
TIMESTAMP 3 支持时间:1970年1月1日~2037年12月31日
TIME 8 支持时间:-8385959~8385959
YEAR 4 支持时间:1970-2069

1.4 字符型

CHAR:定长,不足则后面补空格
VARCHAR:不定长(可变的: variable)
L+1或L+2里多出来的字节是用来保存数据值的长度的。在对长度可变的数据进行处理时,MySQL要把数据内容和数据长度都保存起来。
1指L的最大存储范围,1个字节即8个1。
对于有符号数最高位为符号位,但是字符型是无符号数,所以2^7+2^6+2^5+2^4+2^3+2^2+2^1+1=255,即第一个L<=255。

四种数据类型:

整型:TINYINT SMALLINT MEDIUMINT BIGINT

浮点型:FLOAT or DOUBLE[(M,D)] M是数字的总位数 D是小数点后的位数

日期时间类型:用的较少,多以时间戳的形式存储

字符型 char(5) 五个字节长的char类型

1.5创建数据表

数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础.
USE:打开数据表
USE 数据库名称; MySQL登录步骤:
1.输入用户名-u
2.输入密码-p
3.输入端口号-P(大写)

展示所有数据库:

show databases

打开将要执行的数据库

use database 库名

展示一打开的数据库:

设了select database
CREATE TABLE tb1(

username VARCHAR(20),

age TINYINT UNSIGNED,

salary FLOAT(8,2) UNSIGNED

);

//创建了张tb1表,包含用户名,年龄,工资.

1.6 查看数据表

SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]

1.7 查看数据表结构

SHOW COLUMNS FROM tbl_name

1.8 MySQL记录的插入与查找

插入记录

INSERT [INTO] tblname [(colname,...)] VALUES(val,..)
insert into tb1 values('jack',18,6000.00);

记录查找

SELECT expr,... FROM tbl_name;
select * from tb1;

1.9 MySQL空值 与 非空

NULL ,字段值可以为空
NOT NULL ,字段值禁止为空
在插入字段的时候添加NULL和NOT NULL

1.10 自动编号

AUTO_INCREMENT

自动编号,且必须与主键组合使用
默认情况下,起始值为1,每次的增量为1;

1.11 初涉主键约束:

PRIMARY KEY

主键约束
每张数据表只能存在一个主键
主键保证记录的唯一性
主键自动为NOT NULL
AUTO_INCREMENT一定要跟PRIMARY KEY一起使用,
但是PRIMAYR KEY 不一定要跟AUTO_INCREMENT一起使用.

1.12 初涉唯一约束

UNIQUE KEY

唯一约束

唯一约束可以保证记录的唯一性

唯一约束的字段可以为空值(NULL)

每张数据表可以存在多个唯一约束

create table tb5(

id smallint unsigned auto_increment primary key,

username VARCHAR(20) NOT NULL UNIQUE KEY,

age tinyint UNSIGNED

);

1.13 默认约束

DEFAULT

默认值
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值.

create table tb6(

id smallint unsigned auto_increment primary key,

username varchar(20) not null unique key,

sex enum('1','2','3') default '3'

);

总结

到此这篇关于关于MYSQL 你需要知道的数据类型和操作数据表的文章就介绍到这了,更多相关MYSQL数据类型和操作数据表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL数据表合并去重的简单实现方法

    场景: 爬取的数据生成数据表,结构与另一个主表相同,需要进行合并+去重 解决:(直接举例) 首先创建两个表pep,pep2,其中pep是主表 CREATE TABLE IF NOT EXISTS `pep/pep2`( `id` INT UNSIGNED AUTO_INCREMENT, `no` VARCHAR(100) NOT NULL, PRIMARY KEY ( `id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; 然后向pep中插入两条数据,pep2中插

  • MySQL与Oracle数据类型对应关系(表格形式)

    MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据类型的对应关系. 一.常见数据类型在MySQL与Oracle数据库中的表现形式 说明 mysql oracle 变长字符串 VARCHAR[0-65535] 定义长度默认按字符长度计算,如果是GBK编码的汉字将占用2个字节 VARCHAR2[1-4000] VARCHAR是VARCHAR2的同义词

  • (MariaDB)MySQL数据类型和存储机制全面讲解

    1.1 数据类型概览 数据类型算是一种字段约束,它限制每个字段能存储什么样的数据.能存储多少数据.能存储的格式等.MySQL/MariaDB大致有5类数据类型,分别是:整形.浮点型.字符串类型.日期时间型以及特殊的ENUM和SET类型. 这5种数据类型的意义.限制和相关说明如下图所示: 各数据类型占用字节数,参见mariadb官方手册. 1.2 存储机制和操作方式 数据类型之所以能限定字段的数据存储长度,是因为在创建表时在内存中严格划定了地址空间,地址空间的长度是多少就能存储多少字节的数据.当然

  • mysql8.0.19基础数据类型详解

    mysql基础数据类型 mysql常用数据类型概览 ![1036857-20170801181433755-146301178](D:\笔记\mysql\复习\1036857-20170801181433755-146301178.png)1. 数字: 整型:tinyinit int bigint 小数: float :在位数比较短的情况下不精准 double :在位数比较长的情况下不精准 0.000001230123123123 存成:0.000001230000 decimal:(如果用小数

  • MySQL创建数据表并建立主外键关系详解

    前言 为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型. 外键列和参照列必须创建索引,如果外键列不存在索引,mysql将自动创建索引. 一.SQL语句创建数据表并设置主外键关系 create table demo.ChineseCharInfo ( ID int not null auto_increment, Hanzi varchar(10) not null, prima

  • MySQL入门(二) 数据库数据类型详解

    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了.但是通过今天的学习,已经解惑了.下面就跟着我的节奏去把这个拿下吧. ---WH 一.数据类型 MySQL的数据类型有大概可以分为5种,分别是 整数类型.浮点数类型和定点数类型.日期和时间类型.字符串类型.二进制类型.现在可以来看看你对这5种类型的熟悉程度,哪个看起来懵逼了,那就说明自己哪个不熟悉,不理解.

  • 关于MYSQL 你需要知道的数据类型和操作数据表

    数据类型和操作数据表 1.1 MySQL类型之整型 1.2 MySQL数据类型之浮点型 1.3 日期时间型 DATE 1支持时间:1000年1月1日~9999年12月31日 DATETIME 3 支持时间:1000年1月1日0时0秒~9999年12月31日23时59分59秒 TIMESTAMP 3 支持时间:1970年1月1日~2037年12月31日 TIME 8 支持时间:-8385959~8385959 YEAR 4 支持时间:1970-2069 1.4 字符型 CHAR:定长,不足则后面补

  • MySQL 中 blob 和 text 数据类型详解

    目录 前言 1. blob 类型 2. text 类型 总结 前言 前面文章我们介绍过一些常用数据类型的用法,比如 int.char.varchar 等.一直没详细介绍过 blob 及 text 类型,虽然这两类数据类型不太常用,但在某些场景下还是会用到的.本篇文章将主要介绍 blob 及 text 数据类型的相关知识. 1. blob 类型 blob(binary large object) 是一个可以存储二进制文件的容器,主要用于存储二进制大对象,例如可以存储图片,音视频等文件.按照可存储容

  • Mysql学习之创建和操作数据库及表DDL大全小白篇

    目录 1.操作数据库 1.1创建数据库 1.2查询数据库 1.3修改数据库 1.4删除数据库 1.5使用数据库 2.操作表 2.1MySQL数据类型 2.2创建表 2.3查询表 2.4删除表 2.5修改表 1.操作数据库 1.1创建数据库 create + database + 数据库名称 当然如果我们不知道数据库是否存在,如果存在就不创建,不存在就创建可以用以下语句 create + database + if not exists + 数据库名称 我们还可以在创建数据库的时候指定字符集 cr

  • mysql 行列动态转换的实现(列联表,交叉表)

    (1)动态,适用于列不确定情况 create table table_name( id int primary key, col1 char(2), col2 char(2), col3 int ); insert into table_name values (1 ,'A1','B1',9), (2 ,'A2','B1',7), (3 ,'A3','B1',4), (4 ,'A4','B1',2), (5 ,'A1','B2',2), (6 ,'A2','B2',9), (7 ,'A3','B

  • MySQL 利用frm文件和ibd文件恢复表数据

    frm文件和ibd文件简介 在MySQL中,如果我们使用了默认的存储引擎innodb创建一张表,那么在文件夹下面就会出现表名.frm和表名.ibd两个文件,如果我们使用的是Myisam存储引擎,那么就会出现三个文件,这里我们给出例子: [root@ /data/yeyz]#ll total 580 -rw-rw---- 1 mysql mysql 8586 Apr 3 17:44 a.frm -rw-rw---- 1 mysql mysql 0 Apr 3 17:44 a.MYD -rw-rw-

  • Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)

    因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上可能无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集接下来是完整的一个例子: 1.创建数据库表 mysql>CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci; #注意后面这句话 "COLLATE utf8_general_ci",大致意思是在排序时根据utf8校

  • MySQL中Update、select联用操作单表、多表,及视图与临时表的区别

    一.MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin.SQL语言中不要显示的出现select关键字 update data d,chanpin c set d.zhulei=c.zhulei,d.xiaolei=c.xiaolei,d.fenxiang=c.fenxiang,d.zhuanye=c.zhuanye,d.jiliang=c.jiliang,d.gs=c.zgs,d.xzgs=c.zgs,d.

  • mysql快速获得库中无主键的表实例代码

    概述 总结一下MySQL数据库查看无主键表的一些sql,一起来看看吧~ 1.查看表主键信息 --查看表主键信息 SELECT t.TABLE_NAME, t.CONSTRAINT_TYPE, c.COLUMN_NAME, c.ORDINAL_POSITION FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t, INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c WHERE t.TABLE_NAME = c.TABLE_NA

  • 探究MySQL中索引和提交频率对InnoDB表写入速度的影响

    本次,我们来看看索引.提交频率对InnoDB表写入速度的影响,了解有哪些需要注意的. 先直接说几个结论吧: 1.关于索引对写入速度的影响: a.如果有自增列做主键,相对完全没索引的情况,写入速度约提升 3.11%: b.如果有自增列做主键,并且二级索引,相对完全没索引的情况,写入速度约降低 27.37%: 因此,InnoDB表最好总是有一个自增列做主键. 2.关于提交频率对写入速度的影响(以表中只有自增列做主键的场景,一次写入数据30万行数据为例): a.等待全部数据写入完成后,最后再执行com

  • MySQL日期数据类型、时间类型使用总结

    MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间       日期格式                 日期范围 ------------ ---------   --------------------- ----------------------------------------- datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31

随机推荐