mysql为数据表导入数据类型_MySQL之数据类型与操作数据表

浅浅的花香味﹌ 2023-01-11 09:23 210阅读 0赞

上节回顾

ba04a87cdd758bedd4d3ef317ba8f1f9.png

一、数据类型

什么是数据类型?

数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

所谓数据类型,最直接的理解就是我们有些是存储数字的,而数字当中,我们有时是要存储为整数,有些可能要存储为小数,还有的可能要存储为日期、字符型,这就是我们最直观、最直接了解的数据类型。

在mysql当中,数据类型主要有以下几类:

整型:

9b2a8c871cf2061cf4f10c2f2e864ac2.png

浮点型:

1a562d46ead896e7f5cbf81b401e43bd.png

float最高存储小数点后7位,一般选择float,double占用存储空间较大。因为为了优化,需要选择最合适的,而不一定是最大的。

日期时间型:

9c5af4d0159a98303779f2d312812a0c.png

各日期类型的开始时间到结束时间:

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

日期时间类型在实际中应用较少,因为牵扯到跨时区的问题,如果真的要使用时间类型,一般使用数字的形式表示.

字符型:

3ea797bf8bb290f1432134e62136a8c3.png

(1)字符型:char(M) 为定长类型,eg:char(5)当我们在存储”abc”时,剩余2位用空格补齐。范围:0~255

(2)varchar(M)为变长类型,eg:varchar(5)当我们在存储”abc”时,则varchar中只存abc,不加空格。范围:0~65535

(3)1Byte == 8bit,11111111 == 2E8 == 255.

(4)enum(‘value1’,’value2’,·····),只能从给定的enum枚举中选择

(5)SET(‘value1’,’value2’,’value3’….)就相当于一个集合,在里面做排列组合,可以多选里面的值。

二、数据表操作

数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。

我们关系型数据库,其实就是一张二维表格,这个表格严谨点指的就是我们的数据表。这个二维表格,行称之为记录,列称之为字段。如果我们只创建了数据库,没有数据表,那么我们只有空的架子,并没有真正存储数据的地方,如果要存储数据,必然要设计表。

1、创建数据表(create table)

可以通过USE命令打开某个数据库(USE 数据库名称);

显示当前用户打开的数据库:SELECT BATABASE();

创建数据表:CREATE TABLE [IF NOT EXISTS] table_name(

column_name data_type,

………

)

比如:

359714d8c34310bf38fe345e33e947a6.png

2、查看数据表(show tables)

a4055b98741084e254ff4520a81ae345.png

SHOW TABLES [FROM db_name] [LIKE ‘pattern’ | WHERE expr]

SHOW TABLES; //查看当前数据库中的表

SHOW TABLES FROM mysql;//查看数据库mysql下的表

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

注:1、查看数据表是否存在:SHOW TABLES [FROM db_name] [LIKE ‘pattern’ | WHERE expr ]

2、FROM db_name 可以查看其它数据库中的表

3、查看数据表结构(show columns)

58f8224e7ab190c99a85ba281ee95b3f.png

4、记录的插入(insert)与查找(select)

f04e3b136cd6fbef7c44d660d429b009.png

2d8a2fb7f67131df1fb628a6d5377aa6.png

5、空值与非空值

2c0efd2f9e2f20e1b066e6b739b82d6e.png

2fb13ec9fe98c7da8d906576fc70b040.png

607dba31b1c1461f268fcefb320b7c27.png

禁止为空的字段一定要赋值。

6、自动编号(auto_increment)

739c4b63f53bf867e52b8d39a888e10d.png

1、自动编号:保证记录的唯一性

2、类型必须为整型(可以是FLOAT(5,0)等,小数点后必须为0),必须和主键PRIMARY KEY组合使用

3、默认情况下,起始值为1,每次的增量为1

默认情况下,起始值为1, 每次增量为1.

CREATE TABLE tb3(

id SMALLINT UNSIGNED AUTO_INCREMENT,

username VARCHAR(30) NOT NULL); //报错,自动增量字段必须设置成主键

7、初涉主键约束(primary key)

902a7675d29bae33ceee0781c6939d3b.png

auto_increment(自动编号)字段必须定义为primary key主键,但主键不一定与auto_increment一起使用。

主键自动为NOT NULL,也就是说必须要为主键赋值。但如果主键选择了AUTO_INCREMENT,那么不需要手动赋值。

auto_increment必须和primary key一起使用,反之则没有这个必要。primary key不允许重复赋值。 对于给了auto_increment属性的字段名,也会给一个unsigned的限制,避免它为负数 自动编号的记录会从1依次递增+1 定义主键时,可以使用key 也可以使用primary key 使用主键约束的字段 自动会变成 not null约束 定义了主键的字段名的列值不允许相同.

8、初涉唯一约束(unique key)

f8462b7644ac8a6feadcdc96313031e1.png

它与主键的区别:主键是一张数据表只能有一个,不能为空,但是唯一约束可以存在多个,而且可以存在空值。

注意:唯一约束,可以有空值,但只能有一个空值。

9、初涉默认约束(default)

8ad0ac379f35d4fb691ff7ace291fcf4.png

三、总结

3db0cf27d808100e1bfebc26342badb6.png

进入指定数据库 use db_name;

创建数据库表 create table [if not exists] table_name(columns_name type,columns_name type ..);

查看数据库表 show tables;(show tables from db_name like table_name)

查看数据表结构 show columns from table_name;

插入记录 insert [into] table_name [(column_name,…)]values (val,…);

查找记录 select exp,.. from table_name;

自动编号 auto_increment;auto_increment必须和primary key一起使用

唯一约束 unique key

默认约束 default

发表评论

表情:
评论列表 (有 0 条评论,210人围观)

还没有评论,来说两句吧...

相关阅读