MySQL数据库基础知识_MySQL数据库的特点

MySQL数据库基础知识_MySQL数据库的特点了解mysqlmysql是一个关系型数据库:以库、表、行、列这种关系模型组织数据Mysql使用时的注意事项每日一条数据库操作语句都应该以分号;结尾,因为mysql支持换行操作mysql数据库对大小写不敏感,大小写皆可,通常关键字使用大写表示mysql数据库中哭的名称应该以英文字符或者一些符号起始,但是不允许以数字起始mysql数据库中哭的名称、表的名称、字段的名称都不能使用mysql关键字,比如create、database;如果非要使用,那就用反引号括起来库的操作查看mysql

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Mysql使用时的注意事项

  1. 每日一条数据库操作语句都应该以分号 ;结尾,因为mysql支持换行操作
  2. mysql数据库对大小写不敏感,大小写皆可,通常关键字使用大写表示
  3. mysql数据库中哭的名称应该以英文字符或者一些符号起始,但是不允许以数字起始
  4. mysql数据库中哭的名称、表的名称、字段的名称都不能使用mysql关键字,比如create、database;如果非要使用,那就用反引号括起来

库的操作

查看mysql中的所有库:show databases;
创建库:create database 库名称;—-》create database if not exists 库名称;如果不存在该库,则创建
删除库:drop database 库名称;
选择使用数据库:use 库名称;
显示当前使用的数据库:select database();

数据类型

数值类型

MySQL支持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)

关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。

作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
在这里插入图片描述

日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR

每个时间类型有一个有效值范围和一个”零”值,当指定不合法的MySQL不能表示的值时使用”零”值。

在这里插入图片描述

字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET
在这里插入图片描述

注意:char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。
CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。
BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。
有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

表的操作

显示库中所有的表:show tables;
创建表:create table if not exists tb_stu(id int,name varchar(3),age int, birthdatetime);
在这里插入图片描述

查看表结构:desc tb_stu;
在这里插入图片描述

删除表:drop table tb_stu;

表中数据的增删改查基础

插入数据:insert

指定列插入:可以指定单独个一个或几个列信息进程插入,并且前缀列信息
insert [into] tb_stu(id,name) values (1,“韩云溪”);
全列插入:可以省略前缀的列信息,按照列顺序插入所有列的数据
insert [into] tb_stu values (1,“韩云溪”,21,“2000-03-19 12:00:00”);
多行插入:
insert [into] tb_name values(val1,val2…),(val1,val2…),…;
insert [into] tb_stu values (3,“三三”,17,now()),(4,“四四”,18,now());
在这里插入图片描述

查询数据:select

查询指定表中所有数据:select * from tb_name;
在这里插入图片描述

指定列查询:select name,birth from tb_stu;
在这里插入图片描述
排序查询:select * from tb_stu order by age [asc]/desc;按照年龄排序查询
默认为asc升序查询,desc为降序查询
在这里插入图片描述
多列排序:在第一列相同的情况下针对第二列进行排序:select * from tb_stu order by age ,id desc;
在这里插入图片描述
分页查询:通常搭配排序一起使用
select * from tb_stu limit m offset n;—–分页查询,每页显示m条数据,偏移到第n条开始显示m条数据(即从第n条起,显示一页)
在这里插入图片描述
查询字段为表达式:
select name,id+age from tb_stu;—-按照name和id+age的值分列查询

在这里插入图片描述
查询时,字段别名的使用:
select name,id+age [as] total from tb_stu
; —–给id+age起了个别名叫total,as可以省略
在这里插入图片描述
去重:
select distinct age from tb_stu ;
—–根据age查询,并对age去重
在这里插入图片描述

条件查询

按照一定的限制条件进行查询,限制条件通过where子句给出

例如:按照id>1的限制条件进行查询:select * from tb_stu where id>1;
在这里插入图片描述

where子句涉及的运算符:
在这里插入图片描述
另外还有:> = <(大于、等于、小于)可以和NULL进行比较
is NULL/is not NULL 可以用来判断是否为空

IN的使用:判断查询的数据是否是给予的多个选项之一
例如:select * from tb_stu where name in(“韩云溪”,“夏紫藤”);—–查询名字为韩云溪或夏紫藤的项,符合则显示,不符合则忽略
在这里插入图片描述
between A and B 的使用:查询范围介于AB两者之间项
select * from tb_name where id between 1 and 3; —–查询id介于1和3之间的项
在这里插入图片描述
LIKE 模糊匹配的使用:查询一个数据看起来像某个条件
select * from tb_stu where name like ‘韩%’;—–查询表中姓名以韩开头的项,%为通配符
在这里插入图片描述
逻辑运算符的使用:与and、 或or、 非not
select * from tb_stu where age>17 and age<22;—–查询表中年龄大于17并且小于22的项
在这里插入图片描述

修改数据:update

update tb_name set fields1=val1,fields2=val2 where condition;—-尤其注意不要忘了where限制条件,否则整张表的该列数据都会更改

删除数据:delete

delete from tb_name where condition;—-尤其注意不要忘了where限制条件,否则整张表的数据都会被删除

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171519.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows route命令[通俗易懂]

    windows route命令[通俗易懂]命令:routeprint:打印当前的路由表routedelete:删除一条路由routeadd:增加一条路由,如果最后加上–p选项,表示永久增加静态路由,重启后不会失效routechange:更改一条路由例:routeCHANGE157.0.0.0MASK255.0.0.0157.55.80.5METRIC2IF2CHANGE只用于修改网关和/或跃点数。具体场景:一台电脑通过双网卡,同时连接内网与外网.内网地址10.0.

    2022年7月18日
    199
  • java中的局部变量和全局变量哪个优先_java中成员变量是全局变量吗

    java中的局部变量和全局变量哪个优先_java中成员变量是全局变量吗Java变量java中主要有如下几种类型的变量:一、局部变量只在特定的过程或函数中可以访问的变量,被称为局部变量。与局部变量相对应的,是全局变量。全局变量就是从定义的位置起,作用域覆盖整个程序范围的变量。局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会

    2022年8月21日
    10
  • [mvc] 过滤器filter一览

    [mvc] 过滤器filter一览

    2022年4月2日
    51
  • html5 sexteen,Female Singaporean teacher jailed for teen sex

    html5 sexteen,Female Singaporean teacher jailed for teen sexAfemaleSingaporeanteacherwhohadsexwithaminorstudentwassentencedfortenmonthsinjailonMonday,localmediareported.AccordingtoChineselanguagenewspaperLianheZaobao,the32-year-ol…

    2022年5月10日
    49
  • 人迹罕至的android要完全退出程序的一种方法

    人迹罕至的android要完全退出程序的一种方法

    2022年1月6日
    41
  • vue父子组件传值props_vue子组件调用父组件的方法并传参

    vue父子组件传值props_vue子组件调用父组件的方法并传参vue页面结构在做项目的时候常常有这样的一个情况,这个页面的数据(比如:id号)要带到另一个页面去查询某个数据的详情等,传统的做法不是在url上加参数,cookie或者是现在H5的“sessionStorage”和“localStorage”上赋值,这是页面之间传递的方法。随着Angularjs,React,Vue的流行组件式的开发方式成为另一种不错的解决方案。最近就有一些小伙伴问我,vue组件之间是如何传递参数的?其实vue是有三种方式可以组件之间传递数据(props,组件通信,slot)..

    2025年6月24日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号