MySQL基础学习——第一篇
目录
MySQL定义
MySQL的安装
MySQL打开
MySQL常用数据类型
一,数值类型
二,日期和时间类型
三,字符串类型
MySQL基础命令
一,关于库的内容
1,怎创建数据库
2,删除数据库
3,查看所有数据库
二,关于表的内容
首先需要进入某个数据库
1,怎样创建一个数据表
2,删除数据表
3,查看数据库中的所有数据表
1,查看数据表的内容详细定义
2,查看数据表中数据
3,往表中添加数据
4,删除表中数据
5,修改表中数据
三,mysql建表约束
1,主键约束
2,联合主键
3,唯一约束
4,自增约束
5,外键
MySQL定义
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL的安装
这里使用的是HeidiSQL,一款用于简单化迷你的 MySQL 服务器和数据库管理的图形化界面。
下载链接:
链接:https://pan.baidu.com/s/1lnm4IrDremAnhvKAO4qVDQ
提取码:1rv5
复制这段内容后打开百度网盘手机App,操作更方便哦
MySQL打开
直接win+R,输入cmd打开命令行界面
然后输入mysql -u用户名 -p密码(u即user,p即password)
MySQL常用数据类型
一,数值类型
MySQL支持所有标准SQL数值数据类型。
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 byte | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2 bytes | (-32 768,32 767) | (0,65 535) | 大整数值 |
MEDIUMINT | 3 bytes | (-8 388 608,8 388 607) | (0,16 777 215) | 大整数值 |
INT或INTEGER | 4 bytes | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
BIGINT | 8 bytes | (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值 |
FLOAT | 4 bytes | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) |
单精度 浮点数值 |
DOUBLE | 8 bytes | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) |
双精度 浮点数值 |
DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
二,日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。
类型 |
大小 ( bytes) |
范围 | 格式 | 用途 |
---|---|---|---|---|
DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901/2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 |
1970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 |
YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
三,字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255 bytes | 定长字符串 |
VARCHAR | 0-65535 bytes | 变长字符串 |
TINYBLOB | 0-255 bytes | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255 bytes | 短文本字符串 |
BLOB | 0-65 535 bytes | 二进制形式的长文本数据 |
TEXT | 0-65 535 bytes | 长文本数据 |
MEDIUMBLOB | 0-16 777 215 bytes | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215 bytes | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295 bytes | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295 bytes | 极大文本数据 |
MySQL基础命令
一,关于库的内容
1,怎创建数据库
create database school;
2,删除数据库
drop database school;
3,查看所有数据库
show databases;
二,关于表的内容
首先需要进入某个数据库
use school;
1,怎样创建一个数据表
create table student(
name char(10),
id char(10),
sex char(2),
age int);
2,删除数据表
drop table student;
3,查看数据库中的所有数据表
show tables;
1,查看数据表的内容详细定义
describe student; 或者直接用 desc student;
2,查看数据表中数据
select * from student;
3,往表中添加数据
insert into student
values('小明','180001','男',12);
4,删除表中数据
delete from student where name = '小明';
5,修改表中数据
update student set age=20 where name = '小明';
三,mysql建表约束
1,主键约束
作用:主键是一个表中能标识唯一行的标志;
也就是我们通过某个字段添加主键约束,就可以保证该字段不重复且不为空
create table user1(
id int primary key,
name char(10)
);
1.1,添加主键约束
create table user3(
id int,
name char(10));alter table user3 add primary key(id);
1.2,删除主键约束
alter table user3 drop primary key;
2,联合主键
作用:联合主键就是用2个或2个以上的字段组成主键。
用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。需要保证联合起来的主键值加起来不能重复,且都不为空
create table user2(
id int,
name char(10),
primary key(id, name)
);
3,唯一约束
作用:所有记录中字段的值不能重复出现,但是可以为空;
create table user4(
id int,
name char(10));alter table user4 add unique(name);
3.1,删除唯一约束
alter table user4 drop index name;
4,自增约束
作用:即当字段设置为空时,可以自动增加。
- 一个表只能有一个自增约束
- 只能是整数列
- 约束的列必须是键列(主键,唯一键或者外键)
create table user5(
id int primary key auto_increment,
name varchar(20)
);insert into user5 (name) values('张三');
5,外键
定义:外键即将另一个数据表中的一列数据引用过来,也就是两个互通。用来建立和加强两个表数据之间的连接。
涉及到两个表:父表,子表(主表,从表),两者息息相关。
子表中添加与关联列相关的数据时,如果父表没有,则不能添加
父表中删除与关联列相关的数据时,需要先删除子表中的列。
班级
create table class(
id int primary key,
name varchar(20)
);学生
create table students(
id int primary key,
name varchar(20),
class_id int,
foreign key(class_id) references class(id)
);
MySQL基础学习——第一篇相关推荐
- SAP MM零基础学习-第一篇-模块简介
MM物料管理是SAP R/3系统的一个模块,SAP在标准软件系统市场中处于领先地位.由于使用先进的开发技术,SAP能够为业务的各个方面提供数据处理的解决方案.物料管理模块支持日常发生的业务处理功能和过 ...
- 高速计算机的应用领域概括,[其它课程]计算机基础教案第一篇第一、二章.doc
[其它课程]计算机基础教案第一篇第一.二章 盐城技师学校教案首页 授课日期班 级课题: 第一章 计算机基础知识 §1.1计算机概述 教学目的.要求:1.熟练掌握计算机的概念及特征: 2.掌握计算机的发 ...
- MySQL基础学习——Day5
文章目录 MySQL基础学习--Day5 索引 1.什么是索引? MySQL在查询方面主要就是两种方式: 2.索引的实现原理? 1.索引的实现原理: 2.添加索引的条件 3.索引的创建和删除? 1.创 ...
- Mysql基础学习Day01
Mysql基础学习Day01 1.SQL语言的分类 2.注释 3.基本的select语句 4.显示表结构 5.过滤数据 突然发现java基础内容学的差不多了 就又开一个mysql基础学习 1.SQL语 ...
- MongoDB学习第一篇 --- Mac下使用HomeBrew安装MongoDB
2019独角兽企业重金招聘Python工程师标准>>> MongoDB学习第一篇 --- Mac下使用HomeBrew安装MongoDB 0.确保mac已经安装了HomeBrew ( ...
- vue.js路由配置vue-router的基础学习 - 概念篇
文章目录 引言 · 相关问题小结: 一.动态路由匹配 (两种情况) A. 两种情况,代码对比: B. 两种情况,效果图对比: C. 提醒 · 仔细体会: D. 优先级的问题: 二.嵌套路由 引言 · ...
- Python中的TCP的客户端UDP学习----第一篇博客
Python中的TCP的客户端&UDP学习--第一篇博客 PS: 每日的怼人句子"我真想把我的脑子放到你的身体里,让你感受一下智慧的光芒" 先说UDP流程 发送: 创建套接 ...
- HTML,css和JavaScript的基础学习—css篇
HTML,css和JavaScript的基础学习-css篇 1.css是什么?由什么组成? 层叠样式表,定制html元素的显示样式,美化页面,对于前端页面的搭建十分重要. 由三部分组成:选择器,属性, ...
- HTML,css和JavaScript的基础学习—JavaScript篇
HTML,css和JavaScript的基础学习-JavaScript篇 JavaScript是做什么的? JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型 ...
最新文章
- 基于OpenCV的条形码检测
- 图论500题 ---- 枚举(最短路上的边)+最短路 删掉任意一条边的最长最短路 HDU1595
- java 二分查找
- BZOJ3224普通平衡树
- Integer及String的equals及==注意示例,涉及自动拆箱、自动装箱以及equals源码分析
- 使用ABBYY FineReader进行自动图像预处理
- TCPDUMP/LIBPCAP 3-PCAP 中文手册(1)
- 基于依赖统计的方法——TPDA
- 云管理平台为混合IT应用提供统一的方法
- Windows没有关机按钮 如何使用命令行关机 重启
- 自动驾驶感知-车道线系列(一)——车道线基础流程实现
- 02_SSM整合测试与系统间通信(Dubbo)
- 10-2 系统设计真题解析:短网址系统的设计与实现
- 深入理解 padding
- Sourcetree 跳过注册方法 for MAC
- ambari中zookeeper报错,Connection failed: Expected response imok, Actual response to...
- matlab中fprintf写入txt文件\n无法换行
- 为何Excel表格部分选项是灰色的,无法选择?
- 使用kindeditor中图片上传后插入不显示绝对路径的修改办法
- [19保研]西湖大学2018年理学与工学夏令营公告
热门文章
- 基于SpringBoot从零构建博客网站 - 开发设置主页标识和修改个人信息功能
- Java实现远程服务器监控,【Java】监控远程服务器JVM
- 关闭windows更新
- 旧文字,Photoshop把文字做旧
- Turtle 绘图测试
- c语言编译中scanf命令,C语言scanf的用法
- Android 帧动画(Frame Animation)
- 嘿嘿!我用Python做了个孙悟空玩转如意金箍棒
- 8点1氪|亚马逊Q4业绩超预期;蔚来发行6.5亿美元可转债;微信春节推出表情红包...
- matlab中max函数的使用方法详细介绍(附matlab代码)