mysql数据库基本介绍及常见使用
关系型数据库
● 二维表
● 表中的一行,称为记录,表中的列, 称为字段(属性)
● 行列交叉的单元格的值,叫属性值或字段值。
● ORACLE DB2 Mysql SQL SERVER 关系型数据库常用的指令(可以在命令行执行,也可以在navicat新建查询执行)
查看版本号
select version()
显示所有的数据库
show databases;
设置当前数据库
use 数据库名
查看该数据库下所有的表
show tables
查看表结构
desc 表名
- 存储引擎
数据库存储、管理和查询等操作的一些规则。
三种数据引擎
1)innoDB存储引擎
● 默认的存储引擎
● 支持外键
● 支持事务
2)MYISAM
● 支持全文检索
● 不支持外键
3)MEMERY
● 内存引擎,在内存中创建表
● 访问速度快
字符集
● 数据库中存储数据的编码格式
● 中文一般使用utf8
● 排序规则 utf8_general_ci ci表示大小写字母不敏感
● mysql对于英文字母大小写不敏感sql脚本
● .sql作为扩展名的一个文件
● 方便部署数据库数据库的管理
数据库的创建
CREATE DATABASE 数据库名 CHARACTER SET utf8 COLLATE utf8_general_ci
CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET UTF8 COLLATE utf8_general_ci ;
数据库的删除
DROP DATABASE 数据库名
E-R图
● ENTITY RELATIONSHIP 实体关系图,数据库逻辑设计阶段产生的一种数据模型。
● 包含三个要素:- 实体 实体实际对应着数据库中表
- 属性 实际对应着表中的字段
- 关系 表与表之间的关系
● 一对一
● 一对多
● 多对多
数据类型
1)数值类型
● BIT 位
● TINYINT 很小整数,-128~127 unsigned 无符号0~255
● BOOLEAN 用TINYINT(1)来表示,0表示false,非零值表示true
● SAMLLINT -32768~32767
● INT 正负21亿多
● BIGINT 很多很多
● FLOAT
● DOUBLE
● DECIMAL
2)字符串类型
● CHAR(n) 固定长度为n的字符串
● VARCHAR(n) 变长字符串,n为最大长度,实际存储的长度,就是字符串的实际长度。
● TEXT 大文本,比如小说的章节内容。
● ENUM 枚举
3)日期类型
● DATE
● DATETIME
● TIME
● YEAR
● TIMESTAMP 时间戳 记忆记录最后一次的更新时间。需要将字段的默认值设置为CURRENT_TIMESTAMP,勾选为时间戳。约束类型
● 往表中插入记录的时候,遵循的一定的规则, 称为约束,作用保证数据的完整性和一致性。
主键约束
● PRIMARY KEY
● 表中的一列或者多列,设置主键约束,表示该列的值,在该表中是唯一的。
● 主键的值不能为NULL,而且必须唯一。
● 语法:
字段名 PRIMARY KEY AUTO_INREMENT
● AUTO_INREMENT表示主键自增
唯一性约束
● UNIQUE
● 表示该字段的值在该表中是唯一的,但是取值为NULL
● 表中的多个字段都可以设置唯一性约束
● 语法 :
字段名 UNIQUE
非空约束
● NOT NULL
● 该字段的值不能为null
● 语法:
字段名 NOT NULL
默认值
● DEFUALT
● 如果表中插入记录时,没有给该字段赋值,则使用默认值。
● 语法:
字段名 DEFAULT 值
外键约束
● FOREIGN KEY
● 表中的某个字段,是取自另外一个表中的字段的值,形成的外键约束
● 两个表中关联字段的数据类型要一致。
● 外键约束的策略:
● restrict 、noaction 对于已经形成外键约束的记录,被引用表中的关联的记录不允许被删除。
● set null 对于已经形成外键约束的记录,被引用的表中的记录删除后,主表中关联记录的对应的字段值被置为null
● cascade 对于已经形成外键约束的记录,如果删除或者更新被引用表中的记录,主表的关联记录也会被删除或者更新。
CHECK约束
● mysql不支持这种约束,一般通过枚举或者触发器来实现。
- 表的创建
● 语法
CREATE TABLE 表名(字段名 数据类型 约束,字段名 数据类型 约束)
- 表的删除
DROP TABLE 表名
更改表
● ALTERSQL语句
● SQL Structed Query Language
● DDL DATA DEFINITION LANGUAGE 数据定义语言
对于数据库或者数据库的组件的结构的操作
CREATE ALTER DROP
特点:不允许事务的回滚。
● DML DATA MANIPULATION LANGUAGE 数据操作语言
表中记录的增删改
INSERT
DELETE
UPDATE
特点:可以进行事务的回滚
● DQL DATA QUERY LANGUAGE 数据查询语言
SELECT
● DCL DATA CONTROL LANGUAGE 数据控制语言
GRANT 授权
REVOKE 回收权限
● TPL TRANSACTION PROCESS LANGUAGE 事务处理语言
COMMIT
ROOLBACKDML
INSERT 往表中插入记录
● 语法
INSERT INTO 表名(字段列表) VALUES(值列表)
● 其中:
● 1、字段列表,值列表两两之间用逗号隔开
● 2、值列表中的值,字符串和日期的常量,需要单引号括起来。
● 3、值的类型要与字段的数据类型相符
● 4、INTO可以省略
● 5、字段列表如果是插入整个表中的字段,可以省略,但值列表的个数与顺序要与定义的表的字段的顺序一样。
● 6、字段也可以写其中的几个,与后面的值的个数对应即可。
● 7、VALUES 关键字也可以使用VALUE,但一般用values
● 批量插入多条记录
● INSERT INTO 表名(字段名) VALUES(值列表1),(值列表2),…,(值列表n)
UPDTAE
● 对表中的记录进行更改
● 语法
UPDATE 表名 SET 字段名1=值1, 字段名2=值2 WHERE子句
● where子句用于限定修改的记录。如果不加where子句,默认修改该表中所有的记录。
DELETE
● 用于删除表中的记录
● 语法
DELETE FROM 表 WHERE子句
表的截断
● TRUNCATE TABLE 表名
● 表的截断,清空表中所有的记录。
TRUNCATE 和DELETE的区别
● 都可以删除表中的记录。delete既可以删除表中所有的记录,也可以按where条件删除一部分记录,而truncate只能清空表中所有的记录。
● delete属于DML,事务可以回滚,truncate属于DDL,是不可以事务回滚。
- where子句
用于条件限制
关系运算符
● = 等于
● != <> 不等于
● > >=
● < <=
● 注意:关系运算符除了值的比较,还可以比较日期,hiredate>‘1982-1-1’
null值的判断
● IS NULL
● IS NOT NULL
区间的判断
● BETWEEN … AND … 表示取值在某个连续的区间
● WHERE sal BETWEEN 3000 AND 5000 表示筛选工资在3000~5000的记录,并且包含3000和5000两个边界。
● NOT BETWEEN … AND … 表示取值不在某个连续的区间
集合的判断(离散)
● IN 表示取值在集合中
● WHERE deptno IN(10,20,40)
● NOT IN 表示取值不在集合中
逻辑运算符
● 在where子句中拼接多个筛选条件
● && AND 与
● || OR 或
● ! NOT 非
出处:东软Java实训
mysql数据库基本介绍及常见使用相关推荐
- 1.MySQL数据库的介绍
1.MySQL数据库的介绍 什么是数据库 数据库(Database)就是按照数据结构来组织,存储和管理数据的仓库 专业的数据库是专门对数据进行创建,访问,管理,搜索等操作的软件,比起我们自己用文件读写 ...
- mysql数据库引擎介绍
mysql数据库引擎介绍 你能用的数据库引擎取决于mysql在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HE ...
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
深入理解MySQL的数据库引擎的类型 作者: 字体:[增加 减小] 类型:转载 本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下 你能用的数据库引擎取决于mysql在 ...
- MySQL数据库锁介绍
MySQL数据库锁介绍 1. 锁的基本概念 当并发事务同时访问一个资源时,有可能导致数据不一致,因此需要一种机制来将数据访问顺序化,以保证数据库数据的一致性. 锁就是其中的一种机制. 我们可以用商场的 ...
- MySQL数据库配置文件介绍及使用
MySQL数据库配置文件介绍及使用 一 MySQL配置文件简单介绍 二 配置参数详细介绍 2.1 设置端口 2.2 设置数据库文件存储目录 2.3 创建新表时将使用的默认存储引擎 2.4 设置最大连接 ...
- mysql数据库的介绍与初始配置
数据库基础 数据库服务概述 数据库介绍(什么是数据库) 存储数据的仓库 生活中的数据 -- 视频.音频.图片.文本 常见软件 -- 主流操作系统:Unix.Linux.Windows 软件名 开源 跨 ...
- python通过什么对象连接数据库步骤_Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)...
本文涉及到的开发环境:操作系统 Windows 10 数据库 MySQL 8.0 Python 3.7.2 pip 19.0.3 两种方法进行数据库的连接分别是PyMySQL和mysql.connec ...
- Mysql数据库简单介绍
内容概要 一.数据库的组成 二.数据库管理系统(DBMS) 三.数据库系统(DBS) 四.当今主流数据库 五.关系型数据库介绍 六.非关系型数据库介绍 七.Mysql数据库介绍 一.数据库的组成 1. ...
- SpringBoot个人博客—Mysql数据库搭建介绍(二)
数据库搭建介绍 项目首页地址:https://blog.csdn.net/weixin_45019350/article/details/108869025 后台数据库表结构相对比较简单,每一个功能模 ...
最新文章
- Java中的策略模式实例教程
- Python学习笔记--序列
- BSP二叉树的数学原理(绝对原创)
- linux存储--共享内存机制mmap(十二)
- Android 基础概念了解
- 自定义Toast 很简单就可以达到一些对话框的效果 使用起来很方便
- node.js ejs的视图模块引擎
- Google Maps API 调用实例
- 人为漏洞的构造、文件的载入、验证机制的突破
- python 获取麦克风声音_如何使用python和ffmpeg或simi读取实时麦克风音频音量
- 'nmake' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- 【JavsScript】webapp的优化整理
- 如何将Excel转换为vCard
- html5图片高斯模糊,CSS实现图片高斯模糊但边界清楚的效果
- 关于投资人的一些事-创业杂记
- 从MSYS2访问Windows目录
- nginx实现静态文件的token认证
- VMware Workstation报错:cpu-0:VERIFY vmcore/vmm/main/cpuid.c:386 bugNr=1036521
- 林辉高考机器人_“高考机器人”虽败犹荣 国产AI未来迈向何方?
- 云中漫步,做个公众号方便生活、取悦自己