数据库

概念

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

数据库和文件存储的区别

  • 文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。
  • 数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库系统提供数据安全性,完整性,并发控制和恢复力。支持远程访问。

数据库和文件存储的联系

  • 均为数据组织的管理技术。
  • 均由数据管理软件管理数据,程序与数据之间用存取方法进行转换。
  • 数据库系统是在文件系统的基础上发展而来的。

数据库的基本增删改查

1.数据库中关于库的基本操作

1.数据库的创建create database (if not exists) 库名;   //括号里面的可有可无,写上如果在出现库名重复时不会报错    2.库名的查询show databases;3.库的删除drop database 库名;4.库的使用(在库中创建表需要先使用该库)use 库名;5.查询当前正在使用哪一个数据库select database();6.查看该库的创建信息show create table 库名;


2.关于数据库中表格的基本操作

1.表格的创建create table (if not exists) 表名(表属性,,,,);  //括号里的可有可无,写上如果在出现表名重复时不会报错    2.显示数据库下所有的表show tables;                    //查看库该下所有的表名show create table 表名;           //查看该表的创建信息3.数据的插入<1> 指定列插入 insert [into] 表名 (表属性,,,,) values (参数,,,,);<2> 全列插入  insert [into] 表名 values (参数,,,,);<3> 多行插入insert [into] 表名 values (参数,,,,,),(参数,,,,);4.表的删除drop table 表名;5.修改表的结构<1>    修改列类型alter table 表名 modify 列名 列类型;<2> 增加列alter table 表名 add 列名 列类型;<3> 删除列alter table 表名 drop 列名;<4> 修改列名alter table 表名 change    旧列名 新列名 列类型;<5> 更改表名alter table 表名 rename 新表名;rename table 表名 to 新表名;<6> 复制表的结构create table 新表名 like 原表名;create table 新表名 select *from 原表名;6.查数据<1> 全表查select *from 表名;<2> 指定列select 表属性 from 表名;<3> 排序查询(默认是 asc(升序)/desc (降序))select *from 表名 order by 表属性 [desc/asc];<4> 查询表中前n条数据(通常搭配排序使用)select *from 表名 limit n;<5> 从表的第m条开始向下查n条数据select *from 表名 limit m offset n;<6>查询字段为表达式select (表属性name,math + english) from 表名;<7>字段别名的使用select name,math + english [as] total from 表名;<8>数据去重select distinct 表属性 from 表名;<9> 条件查询1. 基础的比较运算符 <,>,=,!=,>=,<=,<>,<=>(针对NULL的等于)2.NULL的比较IS NULL/IS NOT NULL3.IN,判断查询的数据是否符合给与的多个选项数据中的一个select *from 表名 where name in ("张三","李四");4.BETWEEN ...AND,查询范围是否介于两值之间,是则反真select *from 表名 where math between 50 and 80;5.LIKE,模糊匹配select *from 表名 where name like("张%");<10> 逻辑运算符1.and,逻辑与select *from 表名 where math > 50 and math < 80;2.or,逻辑或select *from 表名 where name = "张三" or math > 80;3. not,逻辑非select *from 表名 whret not name in("张三","李四"); 

3.表中数据的基本操作

1.数据的修改update 表名 set 表属性 = 新参数 where pos(要修改的位置)update tab set name = "哈塞给",age = 22,math = 60 where id = 2(第二行数据) [(name = "张三")] (这样就是修改名字为张三的所有人的信息)2.数据的删除delete from 表名 where pos; delete from 表名 where name = "李四";

4.创建索引

1、创建普通索引


1.创建普通索引alter table 表名 add index 索引名 (字段名column);create index 索引名 on 表名 (column(length))create index index_name on Stu (name);2.创建表的时候同时创建索引CREATE TABLE index1(id INT,name VARCHAR(20),sex BOOLEAN,INDEX(id)
);create table if not exists 表名(stu_name varchar(5),stu_id bigint,sex boolean,index(stu_id));

2、创建唯一索引

1.创建唯一索引alter table 表名 add unique 索引名 (column);create unique index 索引名 on 表名 (column(length)) 2.修改表结构alter table 表名 add unique index 索引名 on (column(length))3.创建表时同时创建索引CREATE TABLE index2(id INT UNIQUE,name VARCHAR(20),UNIQUE INDEX 索引名 (id ASC)
);create table if not exists 表名(stu_name varchar(5),stu_id bigint,sex boolean,unique index index_id(stu_id));

3.创建主键索引

         alter table 表名 add primary key 索引名 (column);

4.创建全文索引

         alter table 表名 add fulltext 索引名 (column);

5、创建组合索引

         alter table 表名 add index 索引名(column1, column2, column3);

6、删除/查询 索引

drop index 索引名 on 表名         删除索引show index form 表名          查询索引

5.MySQL中常见数据类型介绍

一、MySQL的数据类型主要包括以下五大类:

整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT

浮点数类型:FLOAT、DOUBLE、DECIMAL

字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY
BLOB、BLOB、MEDIUM BLOB、LONG BLOB

日期类型:Date、DateTime、TimeStamp、Time、Year

其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等

1.整形

MySQL数据类型 字节数 M(默值) 范围(有符号) 范围(无符号) 用途
tinyint [M] 1 4 -2⁷ ~ 2⁷-1 0 ~ 2⁸-1 非常小整数值
smallint [M] 2 6 -2¹⁵ ~ 2¹⁵-1 0 ~ 2¹⁶-1 较小整数
mediumint [M] 3 9 -2²³ ~ 2²³-1 0 ~ 2²⁴-1 中等大小整数
int [M] 4 11 -2³¹ ~ 2³¹-1 0 ~ 2³²-1 标准整数
integer [M] 4 11 -2³¹ ~ 2³¹-1 0 ~ 2³²-1 标准整数(同 int)
bigint [M] 8 20 -2⁶³ ~ 2⁶³-1 0 ~ 2⁶⁴-1 较大整数

2.浮点型

其中的(M,D) 表示总共M位,D个小数位,D包含于M中。浮点类型不能是unsigned的。

对每种浮点类型,可指定一个最大的显示尺寸M和小数位数D。M的值应该取1到255。D的值可为0到30,但是不应大于M-2。M和D对float和double都是可选的,但对于decimal是必须的,在选项M和D时,如果省略了它们,则使用缺省值,如果D被省略,它被设置为0。如果M被省掉,它被设置为10。

MySQL数据类型 字节数 用途
float (M,D) 4 单精度浮点型,8位精度;参数m只影响显示效果,不影响精度,d却不同,会影响到精度;m是十进制数字的总个数,d是小数点后面的数字个数
double(M,D) 8 双精度浮点型,16位精度;参数m只影响显示效果,不影响精度,d却不同,会影响到精度
decimal(M,D) 4 decimal(m,d) 定点类型浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。参数m是定点类型数字的最大个数(精 度),范围为0 ~ 65,d小数点右侧数字的个数,范围为0 ~ 30,但不得超过m。对定点数的计算能精确到65位数字。DECIMAL 数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数。精度在这里指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的位数。比如语句 DECIMAL(7,3) 规定了存储的值不会超过 7 位数字,并且小数点后不超过 3 位

设一个字段定义为float(6,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。整数部分最大是3位,如果插入数12.123456,存储的是12.1234,如果插入12.12,存储的是12.1200.

3.字符类型

数据类型 用途
char 定长字符串;CHAR 类型可以使用 BINARY 修饰符。当用于比较运算时,这个修饰符使 CHAR 以二进制方式参于运算,而不是以传统的区分大小写的方式。CHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词
varchar 变长字符串;VARCHAR 类型在使用 BINARY 修饰符时与 CHAR 类型完全相同

4.日期类型

类型 范围 格式 用途
year 1901 – 2155 YYYY YYYY
date 1000-01-01 – 9999-12-31 YYYY-MM-DD 日期值
time -838:59:59 – 838:59:59 HH:MM:SS 时间值或持续时间
datetime 1000-01-01 00:00:00 – 9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值

MySQL的基本操作指令及常见数据类型相关推荐

  1. mysql数据库基本操作指令:附图

    1.show databases; -->>显示所有的数据库 2.create database 数据库名称; -->> 创建数据库 3.use 数据库名称; -->&g ...

  2. Redis常见数据类型_Redis通用指令

    Redis常见数据类型 redis本身就是一个Map结构, 所有数据都采用key:value的形式, redis中的数据类型指的是value的类型, key部分永远是字符串 string(类似Java ...

  3. 3、MySQL——SQLyog图形化客户端、表的字段名,常见数据类型的属性

    目录 一.SQLyog图形化客户端 二.创建数据表 1.语法格式: 2.表数据的设置 三.常见数据类型的属性 1.NULL和NOT NULL 2.DEFAULT--默认值 3.PRIMARY KEY- ...

  4. mysql left join 查询_MySQL联表查询基本操作之left-join常见的坑

    概述 对于中小体量的项目而言,联表查询是再常见不过的操作了,尤其是在做报表的时候.然而校对数据的时候,您发现坑了吗?本篇文章就 mysql 常用联表查询复现常见的坑. 基础环境 建表语句 DROP T ...

  5. MySQL常见数据类型(小胖虎带你了解MySQL基础知识,只为博君一关注)

    MySQL 常见数据类型 类型分类 类型 取值范围或描述 示例 整数类型 tinyint 0 -255 (长度最短) 员工年龄:32 smallint -32768-32767 员工数:2540 in ...

  6. 秀琴教你学(MySQL—DDL语言篇、MySQL常见数据类型)

    目录 一.SQL语言 二.数据库操作 2.1.库的核心语句 2.2库的使用实例: 三.DDL数据定义语言:表的核心语句与使用 3.1.表的核心语句 3.2.使用实例 四.MySQL常见数据类型 4.1 ...

  7. python propresql mysql_python数据库操作mysql:pymysql、sqlalchemy常见用法详解

    本文实例讲述了python数据库操作mysql:pymysql.sqlalchemy常见用法.分享给大家供大家参考,具体如下: 相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 ...

  8. 1Python全栈之路系列之MySQL数据库基本操作

    Python全栈之路系列之MySQL数据库基本操作 MySQL数据库介绍 MySQL是一种快速易用的关系型数据库管理系统(RDBMS),很多企业都在使用它来构建自己的数据库. MySQL由一家瑞典公司 ...

  9. c语言中最常用的四种数据类型,计算机中有哪几种常见数据类型

    计算机中有哪几种常见数据类型 数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作.下面是YJBYS小编带来的计算机中有哪几种常见数据类型介绍,希望对你有帮助. 一.指令系统概述 指 ...

最新文章

  1. 中国铁建内网漫游沦陷多个重要部门泄漏大量信息(redis+ssh-keygen免认证登录案例)...
  2. GraphQL 进阶: 基于Websocket的实时Web应用开发
  3. java8模拟grouby方法
  4. 微服务开发框架 SpringCloud
  5. IntelliJ IDEA 学习笔记
  6. union all会影响性能吗_哪些因素会影响悬臂式掘进机的性能?
  7. 架构师的英文缩写_架构师必备的20个英文缩写!看你知道几个?
  8. 微信“支付”页新增“出行服务” :已上线北深广三城
  9. o在linux是什么权限,Linux权限管理基本知识大全
  10. Python时间戳与时间字符串互相转换实例代码
  11. 东南大学2014计算机考研真题,2014年东南大学920信号数电考研真题(回忆版)
  12. 怎么进计算机更新失败,系统更新失败无法进入系统怎么办?
  13. microsoft excel使用技巧和问题解决
  14. windows10删除$WINDOWS.~BT文件
  15. 逗比学CTF.day8
  16. c程序设计语言 qsort,【程序设计基础_C语言】北理工的恶龙(附qsort范例)
  17. 今日头条2018校招编程题
  18. PTA 7-5 字符串的连接
  19. C++课程设计报告--通讯录管理系统
  20. 形式语言大作业_清华大学本科一年级设计作业展示|仅是手绘就秒杀我的照片级效果图...

热门文章

  1. matlab-最小二乘法拟合
  2. 新的快速图像转手绘方法,人类水准、户外场景
  3. sql server如何卸载干净?来看这里
  4. 拜占庭容错机器学习算法之Krum算法
  5. 【NXP】LPCXpresso 4300 Board上手
  6. 2021.1.25写写日记
  7. 2011年5月10日
  8. 福昕pdf阅读器块选
  9. C++编程用筛选法求100以内的素数
  10. 西安计算机专业研究生学校排名2015,2015年计算机考研学校排名