MySQL的基本操作指令及常见数据类型

数据库

概念

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

数据库和文件存储的区别

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

数据库和文件存储的联系

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

数据库的基本增删改查

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 NULL
			
		3.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]14-2⁷ ~ 2⁷-10 ~ 2⁸-1非常小整数值
smallint [M]26-2¹⁵ ~ 2¹⁵-10 ~ 2¹⁶-1较小整数
mediumint [M]39-2²³ ~ 2²³-10 ~ 2²⁴-1中等大小整数
int [M]411-2³¹ ~ 2³¹-10 ~ 2³²-1标准整数
integer [M]411-2³¹ ~ 2³¹-10 ~ 2³²-1标准整数(同 int)
bigint [M]820-2⁶³ ~ 2⁶³-10 ~ 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)4decimal(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.日期类型

类型范围格式用途
year1901 – 2155YYYYYYYY
date1000-01-01 – 9999-12-31YYYY-MM-DD日期值
time-838:59:59 – 838:59:59HH:MM:SS时间值或持续时间
datetime1000-01-01 00:00:00 – 9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值