mysql的必知必会------初识mysql(代码片段)

JunFengYiHan JunFengYiHan     2022-12-21     578

关键词:

数据库简介

我们都知道MySQL是数据库的一种, 那么数据库是什么呢? 数据库其实就是通过各种数据结构来组织和管理数据的软件, 和我们日常用的软件没啥区别, 学会使用规则就可以了,即SQL语句.

  • SQL分类:DDL、DML、DCL.
  • DDL数据定义语言,用来维护存储数据的结构 代表指令: create, drop, alter
  • DML数据操纵语言,用来对数据进行操作 代表指令: insert,delete,update
  • DML中又单独分了一个DQL,数据查询语言,代表指令: select
  • DCL数据控制语言,主要负责权限管理和事务 代表指令:
    grant,revoke,commit

数据库分为关系型数据库(RDBMS)和非关系型数据库两种

  • 关系型数据库有: Oracle, MySQL, SQL Server , SQLite…
  • 非关系型数据库有: memcached, redis, mongodb, hbase, neo4j…
关系型数据库非关系型数据库
使用SQL不强制要求,一般不基于SQL实现
事务支持支持不支持
复杂操作支持不支持
海量读写操作效率低效率高
基本结构基于表和列,结构固定灵活性比较高
使用场景业务方面的OLTP系统用于数据的缓存、或基于统计分析的OLAP系统

ps: OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line AnalyticalProcessing)是指联机分析处理.
ps: 百度百科对数据库的说明链接

MySQL简介

MySQL属于关系型数据库, 所谓的关系型数据库就和excel差不多, 都是以表格的形式组织数据, 那么为什么使用MySQL, 主要是因为它是免费的, 所谓一时白嫖一时爽, 一直白嫖一直爽.
MySQL分为客户端和服务器, 客户端发送网络请求给服务器, 然后客户端返回网络响应给客户端, 一台服务器可以同时连接多个客户端 , 并且是通过网络传输的, 所以服务器和客户端可以不在同一台主机上

MySQL目前主流使用5.7版本和8.0版本, 博主使用的是5.7版本 , 看博主文章跟着实操的,尽量保证大版本一致,使用5.7系列, 使用8.0系列难免会有所差异.
安装软件就不多赘述了, 百度一下有很多安装方式, 官方下载连接附上

其他的下载+安装很详细,懒得找的小伙伴们可以使用这个

MySQL的操作

我们直接在控制台进行SQL练习, 也就是这个黑框框, 我们先来见识一下库操作, 下面所有的 [描述] 都是一个暂时代替的东西, 不是实际敲的SQL语句, 分号是要的.

库操作

show databases; --显示所有数据库
create database [数据库名]; --创建一个数据库
use [数据库名]--使用/打开 这个数据库 
drop database [数据库名]; --删除数据库

按照上面的语句套用,首先是显示目前所有的数据库, 显示的不一定完全一样, 能成功显示就没问题.

然后套用第二条语句, 建一个名字为abc 的数据库, 然后显示一下, 可以看到

然后use使用 abc 这个数据库,可以看到提示

最后我们删除刚刚创建的数据库abc, 再次显示就已经不存在数据库abc了

  • 尽量不要使用删库操作,就算要删库,操作也一定要非常非常小心, 删错了就连夜跑路吧

基本数据类型

  • 数据类型是用于建表时指定每一列的数据类型
  • SQL中的关键字不区分大小写 ,加粗的类型是常用或者建议使用的类型
  • 字符串可以使用单引号,也可以使用双引号,但是所有字符都必须是英文的
sql类型说明大小byte对应的Java类型
bit(指定位数,默认为1位)二进制数, M范围从1到64, 存储数值范围从0到2^M-11bit常用Boolean对应BIT,此时 默认是1位,即只能存0和1
tinyint1Byte
smallint2Short
int4Integer
bigint8Long
float(总长度,小数位数)单精度,M指定长度,D指定 小数位数。会发生精度丢失4Float
double(总长度,小数位数)8Double
decimal(总长度,小数位数)双精度,M指定长度,D表示 小数点位数。精确数值长度和小数点位数较大者+2BigDecimal
numeric(总长度,小数位数)双精度,M指定长度,D表示 小数点位数。精确数值长度和小数点位数较大者+2BigDecimal

字符串类型

sql类型说明大小byte对应的Java类型
varchar(字符串大小)可变长字符串0-65535String
text长文本数据0-65535String
mediumtext中等长度文本数据0-16777215String
blob二进制形式的长文本数据0-65535byte[]

日期类型

sql类型说明大小byte对应的Java类型
datetime1000-99999年,不会进行时区的检索和转换8Java.util.Data、java.sql.Timestamp
timestamp1970-2038自动检索当前时区,并进行转换4java.util.Date、java.sql.Timestamp

基础表操作

create table [表名]([列名,类型]);--创造一个表格
show tables;--显示当前数据库下的所有表格
desc [表名];--查看表的结构
drop table [表名];--删除表

在建表之前,需要选择一个数据库,如何将表结构放入其中.现在使用上面讲过的库操作建一个数据库,建好之后使用它, 博主建了一个名为test的数据库

是不可以建一个没有结构的空表的, 就是说一个表最少是需要一列的,所以我们就需要给表一定的结构

创建表格的模板如下, 可以写成一行,但是建议分行写,更加清晰

  • SQL中 -- 表示注释
--创造一个表格
create table [表名] (
    属性名称 类型,
    属性名称 类型,
    属性名称 类型,
    ...
    属性名称 类型--最后面不加,
);--以分号结尾

如下我们创建了一个表名为student的表,表中有id ,name ,age ,score四个属性

然后我们来查看表的结构,往表中插入数据时一定要明确表中的数据类型,不然会造成插入失败,下篇博客介绍CRUD(增删改查)

最后是删除操作,由于只有一个表,删除之后就没有了,所以就返回了empty set

一些小结和建议

  • SQL中的关键字是不区分大小写, 喜欢那种用那种
  • 书写的SQL语句可以不在一行也可以在一行,建议不要全部写在一行
  • 不建议在控制台直接书写SQL语句, 建议使用 vscode ,notepad++, sublime test 3等文本编辑器书写, Java程序员也可以直接使用idea编写,最差也可以拿记事本写,不熟练的情况下不要直接在控制台输入
  • drop操作可以忘记, 因为删库删表是非常危险的, 可能会丢失大量数据
  • 数据类型要合理选取,一般能够放下数据就行,尽量不要浪费空间

建表练习

  • 商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)
  • 客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证 card_id)
  • 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)

参考代码

--商品表
create table goods(
    goods_id int,
    goods_name varchar(20),
    unitprice decimal(10,1),
    category varchar(10),
    provider varchar(20)
);
--客户信息表
create table customer(
    customer_id int,
    customer_name varchar(20),
    address varchar(50),
    email varchar(50),
    sex varchar(5),
    card_id varchar(18)
);
--购买清单
create table purchase(
    order_id int,
    customer_id int,
    goods_id int,
    nums int
);

写在最后的话

SQL的代码就是多敲多练, 一般就没啥问题了, 由于博主水平有限,文中难免出现错误,或者表述不清的地方,或者有什么建议都欢迎各位小伙伴,在评论区或者私信博主提出,如果博客对大家有所帮助就请点个赞吧,谢谢大家,我们下篇博客见.

mysql的必知必会------初识mysql(代码片段)

目录数据库简介MySQL简介MySQL的操作库操作基本数据类型字符串类型日期类型基础表操作一些小结和建议建表练习参考代码写在最后的话数据库简介我们都知道MySQL是数据库的一种,那么数据库是什么呢?数据库其实就是通过各种数... 查看详情

mysql学习--mysql必知必会(代码片段)

?上图为数据库操作分类:??下面的操作參考(mysql必知必会)创建数据库运行脚本建表:mysql>createdatabasemytest;QueryOK,1rowaffected(0.07sec)mysql>showdatabases;+--------------------+|Database|+--------------------+|infor 查看详情

必知必会

1什么是MySQL   MySQL是一个关系型数据库管理系统,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。在J... 查看详情

mysql必知必会(代码片段)

姊妹篇——Hive必知必会(数据仓库):https://hiszm.blog.csdn.net/article/details/119907136文章目录第一章:数据库基础基本概念什么是SQL第二章:MySQL简介第三章:了解数据库和表第四章:检索数据SELECT语句第五章:... 查看详情

carson带你学java:关于string类的必知必会!(代码片段)

概述关于String类的必知必会主要包括:String的常用函数equals()与==的区别String、StringBuffer与StringBuilder的区别Switch能否用string做参数?1.String常用函数2.equals()与==的区别附:/***附1:Object的equalsÿ 查看详情

mysql必知必会(初级篇)(代码片段)

mysql1.基本概念2.SQL语言2.1DCL(数据控制语言)2.1.1创建用户2.1.2使用grant命令给用户授权2.1.3使用revoke命令撤销权限2.2DDL(数据定义语言)2.2.1mysql常用约束类型2.2.2使用alter命令修改表结构2.2.3使用drop命令删除表2.3DML(数据操纵语言)2.3.1使... 查看详情

:mysql数据库第21节:mysql-必知必会(上)

大家好,很高兴我们可以继续学习交流Java高频面试题。第五章主要是对MySQL数据库进行浅析,我们主要针对面试中常见的MySQL知识点进行交流分析。在对高频面试题分析的过程中,加入实际工作中经常需要使用到的MySQL优化等知... 查看详情

mysql必知必会第三章使用mysql

第三章使用MysqlSQL语句和大小写请注意,SQL语句不区分大小写,因此SELECT与select是相同的。同样,写成Select也没有关系。许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有列和表名使用小写,这样做使代码更易于阅读和调... 查看详情

:mysql数据库第22节:mysql-必知必会(下)

大家好,上一小节中我们对MySQL中的索引和存储引擎做了简单的介绍。本小节中,我们接着学习MySQL相关知识点,包括日志模块,锁机制以及事务等重要知识点,希望大家可以有效理解与掌握。(1)MySQL的日志模块binlog和redolog有... 查看详情

mysql必知必会语法和基础知识大总结(代码片段)

概述主键:唯一区分表中每个行(不可重复,不允许nullmysql:基于客户-服务器的数据库系统使用mysqlmysql是部署在主机上的,可以通过ssh建立mysql连接#显示数据库showdatabases;#选择数据库usedatabases;#显示库中的表s... 查看详情

mysql必知必会语法和基础知识大总结(代码片段)

概述主键:唯一区分表中每个行(不可重复,不允许nullmysql:基于客户-服务器的数据库系统使用mysqlmysql是部署在主机上的,可以通过ssh建立mysql连接#显示数据库showdatabases;#选择数据库usedatabases;#显示库中的表s... 查看详情

必知必会的mysql知识②使用mysql(代码片段)

...连接MySQLMySQL数据库基本命令小结前言根据上一篇文章【必知必会的MySQL知识】①初探MySQL的内容,想必您对MySQL数据库有了一个整体的了解了,并且应该在自己电脑上已经安装上了MySQL。这一篇呢我们来说一说这么连接上数据库并... 查看详情

mysql必知必会第一章了解sql

第一章了解SQL1.1数据库基础1.1.1什么是数据库数据库的定义:保存有组织的数据的容器数据库软件不是数据库,而是DBMS1.1.2表表(Table)的定义:某种特定类型数据的结构化清单在同一个数据库中,表名唯一模式(schema)的定义... 查看详情

牛客mysql必知必会刷题总结(代码片段)

总的来说,关于要用having的时候会出错,此为不熟练。另外如通配符等函数运用属实是落后不了解。1.Mysql中表student_table(id,name,birth,sex),插入如下记录:(\'1001\',\'\',\'2000-01-01\',\'男\');(\'1002\',null,\'2000-12-21\',\'男\');(\'1003\',NULL,\'2000... 查看详情

mysql必知必会,详尽入门,一文帮你学会sql必知必会(代码片段)

目录前言数据库的概念和术语SQL语言和组成DDLshow: 展示当前已有的数据库或者表create:创建一个数据库或者一个表 drop:删除表、数据库对象或者视图alter:修改现有的数据库对象,例如 修改表的属性或者字段(... 查看详情

mysql必知必会读书笔记(代码片段)

目录第一章--- 了解SQL  Day4-201.1.1什么是数据库?1.1.2表1.1.3 列和数据类型 1.1.4行 1.1.5 主键 1.2什么是SQL 1.3小结第二章---  MySQL简介   Day4-212.1什么是mysql2.1.1客户机—服务器软件2.1.2MySQL版本2.2MySQL工具2.2.1mysql命令行实用程序... 查看详情

mysql必知必会|安全维护性能(代码片段)

全球化和本地化关于MySQL处理不同字符集和语言字符集和校对顺序数据库被用来存储和检索数据,不同的语言和字符集需要以不同的方式存储和检索,因此,MySQL需要适应不同的字符集,适应不同的排序方式一些术... 查看详情

《sql必知必会》读书笔记上(第1~15章)(代码片段)

目录第1章了解SQL第2章MySQL简介第3章使用MySQL3.1连接数据库3.2选择数据库3.3显示数据库和表3.4其他SHOW语句第4章检索数据4.1SELECT语句4.2检索单个列4.3检索多个列4.4检索所有列4.5检索不同的行(去重)4.6限制结果4.7使用完全... 查看详情