SQL_01

本文介绍了MySQL的基础知识,包括数据库的概念、基本操作、表的创建与管理等。详细讲解了SQL语言的应用,如DDL、DML及DCL,并探讨了不同数据类型的特性与适用场景。

Mysql 基础总结
采用片段式进行归纳

库内容
01什么是数据库

数据的仓库
文件保存数据有以下几个缺点:
1.文件的安全性问题
2.文件不利于数据查询和管理
3.文件不利于存储海量数据
4.文件在程序中控制不方便
数据库存储介质 磁盘 内存
主流的数据库
SQL Sever Oracle MySQL MySQL MySQL
H2

DDL 数据定义语言
DML 数据操纵语言
DCL 数据控制语言
存储引擎对比
在这里插入图片描述

02库的基本操作

1.创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name;
eg:create databses db1;

2.使用数据库
use database_name;

3.查看数据库支持的字符集校验规则
show collation;

4.显示创建语句
show create database 数据库名;

5.修改数据库

ALTER DATABASE db_name
eg:alter database db1 charset=gbk;

6.数据库的删除

DROP DATABASE [IF EXISTS] db_ name;

/**
执行删除之后的结果:
数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
**/

7.库的备份

 #mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

8库的还原

mysql> source D:/mysql-5.7.22/mytest.sql;

9.查看连接情况

show processlist;
03表的操作

01.创建表

CREATE TABLE table_name (
	field1 datatype,
	field2 datatype,
	field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

eg:
create table users (
id int,
name varchar(20) comment ‘用户名’,
password char(32) comment ‘密码是32位的md5值’,
birthday date comment ‘生日’
) character set utf8 engine MyISAM;

02.查看表结构

desc 表名;

03.修改表
添加字段

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);

修改字段

ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);

删除字段

ALTER TABLE tablename DROP (column);

04 删除表

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
04数据类型

在这里插入图片描述
1
在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。

2
可以通过UNSIGNED来说明某个字段是无符号的,尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如
此,还不如设计时,将int类型提升为bigint类型

3
bit[(M)] : 位字段类型。M表示每个值的位数,范围从1到64。如果M被忽略,默认为1

4
bit字段在显示时,是按照ASCII码对应的值显示。只存放0或1,这时可以定义bit(1)。这样可以节省空间。

5
float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节
float(4,2)表示的范围是-99.99 ~ 99.99,MySQL在保存值时会进行四舍五入。

6
decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数。decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略,默认为0.如果m被省略,默认是10。

7
char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255

8
varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节
varchar长度可以指定为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字节数是
65532
当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占用3个字
节],如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符占用2字节)
在这里插入图片描述

05表的约束

01 空属性 null
数据库默认字段基本都是字段为空.

02 zerofill
如果宽度小于设定的宽度(这里设置的是5),自动填充0。

03 主键
primary key用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键;主键所在的列通常是整数类型。

04 自增长
:当对应的字段,不给值,会自动的被系统触发,系统会从当前字段中已经有的最大值+1操作,
得到一个新的不同的值。通常和主键搭配使用,作为逻辑主键。
特点:
任何一个字段要做自增长,前提是本身是一个索引(key一栏有值)自增长字段必须是整数一张表最多只能有一个自增长。

05 唯一键
一张表中有往往有很多字段需要唯一性,数据不能重复,但是一张表中只能有一个主键:唯一键就可以解决表中有
多个字段需要唯一性约束的问题。
唯一键的本质和主键差不多,唯一键允许为空,而且可以多个为空,空字段不做唯一性比较

06 外键
外键用于定义主表和从表之间的关系:外键约束主要定义在从表上,主表则必须是有主键约束或unique约束。当
定义外键后,要求外键列数据必须在主表的主键列存在或为null。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值