[MySQL]基本数据类型及表的基本操作

这篇具有很好参考价值的文章主要介绍了[MySQL]基本数据类型及表的基本操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

哈喽,大家好!我是保护小周ღ,本期为大家带来的是 MySQL 数据库常用的数据类型,数据表的基本操作:创建、删除、修改表,针对修改表的结构进行了讲解,随后是如何向数据表中添加数据,浅浅的提了一下表中数据的查询,更多相关知识敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★*

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

一、常用的数据类型

1.1 数据库表的列类型

数值 1 2 3.14
  • tinyint 十分小的数据 1个字节

  • smallint 较小的数据 2个字节

  • mediumint 中等大小的数据 3个字节

  • int 标准的整数 4个字节

  • big 较大的数据 8个字节

  • float 浮点数 4个字节

  • double 浮点数 小数 8个字节(精度问题)

  • decimal 字符串形式的浮点数 (金融计算的时候一般使用)

字符串
  • char 固定大小字符串 0-255 char(5) 00001

  • varchar 可变字符串 0-65535 varchar(5) 1

  • tinytext 微型文本 2^8 - 1

  • text 文本串 2^16 -1 保存大文本

时间日期
  • date YYYY-MM-DD,日期 (year,month,day)

  • time HH: MM : SS 时间格式(hour:minutes,seconds)

  • datetime YYYY-MM-DD HH: MM:SS (年月日,时分秒)最常用的时间格式

  • timestamp 时间戳, 1970.1.1到现在的毫秒数!

  • year 年份

null
  • 没有值, 未知

  • 注意,不要使用null进行运算,结果肯定为null


  1. 上面看到的这类基本数值数据类型都是有符号的,MySql 也是支持无符号的数据类型,unsigned 作为前缀,但是 官方也建议无符号类型不建议使用,特定情况下会产生很严重的误差,例如,a - b, b > a,但是由于没有符号限制,两者相减反而会产生一个很大的数,在MySql 后续的版本中也不会在支持无符号类型了。

  1. 在使用浮点型数据时,最好选择decimal ,他的精度比 float 、double 更高,语法: decimal(M,N) M : 整个数据的总长度,N:数据小数的位数。例如: 3.14, M = 3, N = 2; 在表示货币的时候我们可以采用 int 类型,这样就不会有精度的问题,采用”分“为单位。例 :123,表示 1.23 元。

  1. 我们在使用时间类型是,不知道该用什么样的格式插入时间,在插入时间的时候,是通过特定的字符串来表示时间日期的,例如: "2023-02-9 16:12:00", 对于字符串来讲 英文单引号或者双引号都可以。日期年月日之间用 '-' 减号连接,与时间之间隔一个空格,时间之间用 ':' 连接。以这样的形式输入的字符串,服务器就会识别为时间。如果我们想使用当前系统时间,SQL 提供了一个返回当前系统时间的函数 now(),这个函数赋值即可。


二、数据表的基本操作

书接上篇,我们已经学习了如何操作数据库,本篇学习如何操作数据表,在操作数据表的时候,需要选中数据库;

2.1 创建和删除表

声明:本篇博客讲述的是基础操作,关于数据库的字段属性尽请期待下一篇博客。

基础语法 :

create table table_name (
`字段名` [属性] [索引] [注释],
  `字段名` [属性] [索引] [注释],
  ...
  `字段名` [属性] [索引] [注释],
 …… ……
);

那么在创建一个表之前呢,也可以判断一下这个表是否存在,就像创建数据库时的操作一样。

create table if not exists student (
              ……
);

可以使用 comment 增加字段说明,只是给 sql语句提供一个注释作用,在创建的时候。

例如:

create table stu_test (
id int,
name varchar(20) comment '姓名',
password varchar(50) comment '密码',
);

例题:

-- 创建学生表(列,字段) 使用SQL创建

-- 学号int 姓名 varchar(10),varchar性别sex('男','女'),身高decimal(3,2),加入时间 datetime。

-- 字符串使用 单引号括起来!

-- 所有语句后面加,(英文的),最后一个不用加

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

目前我们已经创建好了一个student 的数据表,接下来的操作是查看一下这个表的结构。

desc teble_name;

desc ->describe 的缩写,描述一个表的结构。

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

创建了一个表,那自然要学习如何删除一个表,。

删除表(drop):(如果表存在再删除)

drop table if exists student;
--当然最稳妥的操作是 指定数据库之后再选择表,这样就可以避免误操作
drop table if exists school.student;
--这样删也是可以的,但是更容易报错
drop table student; 

因为我们是student 数据表是创建在 school 数据库里面,然后可以通过 ‘.’这个符号来约束一下,避免误操作,这也是一种精确表示的方法。

==所有的创建和删除操作,尽量加上判断以免报错==


2.2 修改表的结构(alter)

-- 修改表结构

依据上表 student 表为例,如果我们在创建好表的结构之后,难免在会有所纰漏,比如说少添加了一个字段,又或者是发现某个字段不合适需要删除,还有修改字段属性等等……

2.2.1-- 添加字段

student 表 新增一个叫做 telephone (手机号)的字段,它的类型是可变字符串。

语法:add 是关键字

alter table 【表名】 add 【新增字段名】【属性】 ;
当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

2.2.2 -- 修改字段 (注意本条语句不修改字段名)

假如我们发现表中的telephone (手机号)的字段 属性的长度给少了,所以我们需要修改一下这个字段。

语法:modify 是关键字

alter table 【表名】 modify 【字段名】【修改后的属性】 ;
当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

2.2.3 -- 修改字段名

假如我们发现表中的某个字段的 字段名没取好名,也是可以修改的,例如将 sex 修改为 gender (性别)

语法: change 是关键字

alter table 【表名】 change 【原字段名】【修改后的字段名】【属性】 ;
当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

2.2.4 -- 删除字段

这个就很好理解了,删除某个字段(列名), 本次删除 telephone 字段。

语法:

alter table 【表名】 drop 【字段名】;
当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

2.2.5 -- 修改表名

将student 数据表 表名修改为 stud。

语法:关键字 rename

alter table 【表名】 rename 【修改后的表名】;
当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

执行语句后表名已经被修改,以上操作,轻易不要操作,容易造成一系列的连锁反应(蝴蝶效应,动了一个表,可能需要修改多个表的数据,关系型数据库),在创建的时候就将表的结构计划好,尽可能的减少表结构的修改。


2.3 添加数据(insert into )插入

语法:

insert into 表名([字段名1,字段名2,字段名3])values('值1'),('值2)',('值3')...

into 其实可以不用写,可以根据个人意愿决定。

2.3.1-- 插入时匹配对应的值

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

这种方式插入数据,需要指定需要插入的列名(字段),然后根据列名(在记录没有约束的情况下)插入数据。

意思就是你可以只插入“李四" 独占一行。注意观察插入日期的格式。


2.3.2 -- 不声明字段新增数据,必须把所有字段的值都写上

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

此处使用now() 函数来插入日期时间。


2.3.3 -- insert语句后面可以加多个VALUES,可以添加多个数据

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

多行插入只需要写一个 values 即可,多行插入的性能也是优于 单行插入的,因为MySql 本质上就是客服端服务器的程序,客服端发出指令,服务器进行相应的处理,一行一行的插入意味着反复发送指令,这个点不知道大家能否能 get 到呢?


注意事项:

字段和字段之间使用英文逗号隔开
字段是可以省略的,但是后面的值必须要一一对应
可以同时插入多条数据,VALUES后面的值需要使用,隔开即可。
value,是一个具体的值,也可以是一个函数

2.4 基础查询

语法:

SELECT 字段,...FROM 表

以student 表为例。

-- 查询所有的员工 SELECT 字段 FROM 表

如果我们需要一次性查找所有的字段,其实不用讲所有字段全部列举出来,可以使用 ”*“ 来替代。

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

可以看出两者的结果是一样的。


-- 查询指定字段,ID + Name

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

-- 别名,给查询结果起一个名字 AS, 可以给字段取别名,也可以给表取别名

-- as可以加也可以不加

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

这样看起来舒服多了吧,哈哈,as 不加也可以运行,但是最好是加上,避免将别名看成字段。

-- 别名可以简化字段或者表的名称,更精准的输入

-- 给student表起别名为stu

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

不使用 as 也是可以的,在复杂的查询中,使用别名查询,能提升效率。


好了好了,关于查询就浅浅的说一一下啦,关于查询还有许多知识,一篇写不下,下篇博客将着重讲解查询语句。

至此,Mysql 系列的第二篇内容博主已经分享完了,希望对大家有所帮助,如有不妥之处欢迎批评指正。

当数据库和数据表格创建好以后,基本类型,MySQL,mysql,数据库,服务器,Powered by 金山文档

本期收录于博主的专栏——Java & MySQL,适用于编程初学者,感兴趣的朋友们可以订阅,查看其它“MySQL 数据库以及Java JDBC 编程的相关知识”。

下一期:MySQL 字段的基本属性,数据表的修改、删除、然后重点—— 查询

感谢每一个观看本篇文章的朋友,更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★*

遇见你,所有的星星都落在我的头上……文章来源地址https://www.toymoban.com/news/detail-781101.html

到了这里,关于[MySQL]基本数据类型及表的基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL-Redis数据类型操作和MongoDB基本操作

    (1) 设置键值: (2) 读取键值: (3) 数值类型自增1: (4) 数值类型自减1: (5) 查看值的长度: (1)对列表city插入元素:Shanghai Suzhou Hangzhou (2)将列表city里的头部的元素移除 (3)将name列表的尾部元素移除到number列表的头部 (4) 对一个已存在的列表插入新元素

    2024年02月16日
    浏览(44)
  • 【MySQL】表的基本操作

    数据类型 大小 说明 bit[(M)] M指定位数,默认为1 二进制,M范围从1到64,存储数值范围从0到2^M-1 tinyint 1字节 smallint 2字节 int 4字节 bigint 8字节 float(M,D) 4字节 单精度,M指定长度,D 指定小数位数,会发生精度丢失 double(M,D) 8字节 decimal(M,D) M/D最大值+2 双精度,M指定长度,D表示小

    2023年04月22日
    浏览(40)
  • 【MySQL系列】表的学习及基本操作

    「前言」文章内容大致是数据库表的基本操作 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 「枫叶先生有点文青病」「句子分享」 人生当苦无妨,良人当归即好。 ——烽火戏诸侯《雪中悍刀行》 创建表语法: 说明 : field 表示列名 datatype 表示列的类型

    2024年02月13日
    浏览(42)
  • 数据结构---双向链表的基本操作

    头插法 遍历链表 尾插法 头删法 尾删法 按位置插入数据 按位置删除数据 dooublelinklist.c doublelinklist.h doublemain.c

    2024年02月22日
    浏览(53)
  • 【lesson13】MySQL表的基本操作之create(创建),update(更新)和replace(替换)

    CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) 建表 基础测试 全列插入 指定列插入 注意: 1.指定列插入时一定要按前面指定列的顺序,插入数据,否则就会报错。 2.如果忽略某些列,那么这些列一定要有,默认值或者是自增长的,否则就会报错 3.into 也可以省略

    2024年02月04日
    浏览(54)
  • 【数据结构】——单链表的基本操作(带头结点)

            单链表解决了顺序表需要大量连续存储单元的缺点,但单链表附加指针域, 存储密度较顺序表低(考点!!) 。由于单链表的元素离散地分布在存储空间中,所以单链表是 非随机存取 的存储结构,即不能直接找到表中某个特定的结点。当查找某个特定结点时,需要

    2024年02月05日
    浏览(51)
  • 数据结构 2.1 线性表的定义和基本操作

    数据结构三要素——逻辑结构、数据的运算、存储结构(物理结构) 线性表是具有 相同数据类型 的n(n=0)个数据元素的 有限序列 ,其中n为表长,当n=0时,线性表是一个空表。 每个数据元素所占空间一样大,有次序。 几个概念 1.ai是线性表中的第i个 i表示元素线性表中的

    2024年02月07日
    浏览(53)
  • 【数据结构】C语言实现双链表的基本操作

    大家好,很高兴又和大家见面啦!!! 经过前面几个篇章的内容分享,相信大家对顺序表和单链表的基本操作都已经熟练掌握了。今天咱们将继续分享线性表的链式存储的第二种形式——双链表。在今天的内容中,咱们将介绍双链表的创建以及一些基本操作,接下来跟我一起

    2024年02月04日
    浏览(62)
  • c语言数据结构——链表的实现及其基本操作

    顺序表的问题及思考 问题: 中间/头部的插入删除,时间复杂度为O(N) 增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。 增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到 200,我们再继续插入了5个数据,后面没有数据插

    2023年04月09日
    浏览(85)
  • 【数据结构】C语言实现单链表的基本操作

    大家好,很高兴又和大家见面啦!!! 在上一篇中,我们详细介绍了单链表的两种创建方式——头插法与尾插法,相信大家现在对这两种方式都已经掌握了。今天咱们将继续介绍单链表的基本操作——查找、插入与删除。在开始今天的内容之前,我们先通过尾插法创建一个单

    2024年02月03日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包