MySQL快速上手[学习笔记](一)
前言:
课程:《三大主流数据库快速上手》(点击跳转官方课程,b站有资源,可自搜)
笔记(点击跳转豆丁网)
此处是个人学习笔记,用作回顾用途
目录:
一、MySQL 数据类型
二、操作数据库
三、操作表
一、MySQL 数据类型
1.整数类型
2.浮点类型和定点类型
定点数范围是根据精度确定的。
M为精度,D为标度(小数个数),eg:DECIMAL(3,2),输入10/3,结果为3.33
3.时间日期类型
☞YEAR:2 位表示:
- 00-69—>2000-2069
- 70-99—>1970-1999
- (插入数字) 如果插入为 0,则表示 0000
- (插入字符串) 如果插入为”0”,则表示 2000
☞DATE:YYYY-MM-DD
☞TIME:CURRENT_DATE() NOW()
☞DATETIME:日期+时间
☞TIMESTAMP:最大时间–>2038-01-19 11:14:07
4.字符串类型
CHAR:255 固定char(5) ab VARCHAR:65535 可变
varchar(5)ab
TEXT
TINYTEXT、MEDIUMTEXT、TEXT、LONGTEXT
ENUM 单个值
SET 多个值
5.二进制类型
blob:比如存储图片,音频,视频等
存储地址,读取速度比较慢
二、操作数据库
1.登录数据库系统
mysql -h localhost -u root -p
-h:host(主机名)
-u:username(用户名)
-p:password(密码)
2.操作数据库语句
(1)查看现有的数据库
show databases;
(2)创建数据库
语法:create database 数据库名
create database test;
(3)删除数据库
语法:drop database 数据库名
drop database test;
(3)使用数据库
use 数据库名;
use test;
三、操作表
1.创建表
语法:
create table 表名(属性名 数据类型 [完整性约束],
属性名 数据类型 [完整性约束],
…
)
use test
create table exp0(id int,
name varchar(20),
sex boolean
);
2.删除表
语法:drop table 表名
drop table exp1;
(注意:
1.在删除表的时候要谨慎,以避免误删,导致数据丢失,所以在删除前最好做好备份工作
2.在删除表时,如果当前表存在外键,则先删除外键,再删除该表
3.在删除有关联外键表时,则先删除子表[存在外键的表],在删除主表)
3. 创建表的主键
主键:特殊的字段,能够唯一标识每条记录,不能重复
目的:为了让 MySQL 能以最快的速度查找到该记录创建:
(1)单字段主键:
语法:属性名 数据类型 primary key
create table exp1(stu_id int primary key,
stu_name varchar(20),
stu_sex boolean
);
(2)多字段主键
语法:primary key(属性 1 属性 n)
create table exp2(
stu_id int,
course_id int,
garde float,
primary key(stu_id,course_id)
);
4.创建表的外键
语法:constraint 外键别名 foreign key(字段 1.1,字段 1.2) references 主表名(字段 2.1,字段 2.2)
注:字段 2–>主表的主键列
create table exp3(
id int primary key,
stu_id int,
course_id int,
constraint FK_STU_COURSE foreign key(stu_id,course_id) references exp2(stu_id,course_id)
);
5.创建表的完整性约束
(1)非空约束 not null 语法:属性名 类型 not null
(2)唯一约束 unique 语法:属性名 类型 unique
(3)自增长 auto_increment 语法:属性名 类型 auto_increment
(↑要求:类型必须是整型)
(↑注意:如果插入到最后一个标识为 7,删除掉后这个”7”后,后续则从 8 开始)
(4)默认值 default 语法:属性名 类型 default 默认值
create table exp4(
id int not null primary key auto_increment,
stu_id int unique,
name varchar(20) not null,
address varchar(255) default 'ahui'
)
6.查看表结构
(1)1、基本结构:
语法:describe 表名
可简写:desc 表名
describe exp1;
desc exp1;
(2)详细结构:
语法:show create table 表名
show create table exp1;
7.修改表
(1)删除
①删除字段
语法:alter table 表名 drop 属性名
alter table exp2 drop garde;
②删除主键
语法:alter table 表名 drop primary key
alter table exp1 drop primary key;
③删除外键
语法:alter table 表名 drop foreign key 外键名
alter table exp3 drop foreign key FK_STU_COURSE;
(2)增加
alter table 表名 add 新属性名 新属性类型 [完整性约束] [first | after 原有字段]
①新增无完整性约束的字段
alter table exp1 add telephone varchar(20);
②新增有完整性约束的字段
alter table exp1 add age int not null;
③将字段添加到第一位
alter table exp1 add num int primary key first;
④将字段添加到某个字段之后
alter table exp1 add address varchar(255) after telephone;
(3)修改
①修改表名
语法:
alter table 旧表名 rename [to] 新表名
查看当前数据库下所有的表
语法:show tables;
alter table exp1 rename to nexp1;
alter table nexp1 rename exp1;
②修改字段
语法:alter table 表名 change 旧属性名 新属性名 新属性类型
- 修改字段类型
alter table exp1 change stu_name stu_name varchar(20);
- 修改字段类型
alter table exp1 change stu_id id int(4);
③修改字段的排列顺序
- 将字段修改到首位
语法:alter table 表名 modify 属性名 属性类型 [完整性约束] [first]
alter table exp1 modify id varchar(20) first;
将字段修改到指定位置
语法:alter table 表名 modify 属性名 属性类型 [完整性约束] [after 原有字段]
alter table exp1 modify address varchar(255) after age;
MySQL快速上手[学习笔记](一)相关推荐
- MySQL快速上手[学习笔记](三)
前言: 课程:<三大主流数据库快速上手>(点击跳转官方课程,b站有资源,可自搜) 笔记(点击跳转豆丁网) 此处是个人学习笔记,用作回顾用途 目录: 七.函数 八.视图 九.触发器 十.存储 ...
- MySQL快速上手[学习笔记](二)
前言: 课程:<三大主流数据库快速上手>(点击跳转官方课程,b站有资源,可自搜) 笔记(点击跳转豆丁网) 此处是个人学习笔记,用作回顾用途 目录: 四.索引 五.增删改 六.SQL语句 四 ...
- [Docker]Docker快速上手学习笔记
0. 学习的一些疑问 如何热更新镜像(images)?(你可以快速启动或者销毁容器.这种时间几乎是实时的) 如何热更新游戏服? 好处在于各个应用之间环境相互独立,即使某一个容器崩溃也不会影响到其它容器 ...
- gRPC官方快速上手学习笔记(c#版)
上手前准备工作 支持操作系统:windows.OS X.Linux.实例采用.net..net core sdk. The .NET Core SDK command line tools. The ...
- B站《一天学会 MySQL 数据库》学习笔记
B站<一天学会 MySQL 数据库>学习笔记 老司机带我飞 职场十字诀:思考.计划.行动.总结.反思 关注他 4 人赞同了该文章 登录和退出MySQL服务器 # 登录MySQL $ my ...
- centos6.5 yum安装mysql_CentOS 6.5使用yum安装MySQL快速上手必备
CentOS 6.5使用yum安装MySQL快速上手必备 第1步.yum安装mysql [root@stonex ~]# yum -y install mysql-server 安装结果: Inst ...
- mysql性能优化-学习笔记
mysql性能优化-学习笔记
- mysql快速上手3
上一章给大家说的是数据库的视图,存储过程等等操作,这章主要讲索引,以及索引注意事项,如果想看前面的文章,url如下: mysql快速上手1 mysql快速上手2 索引简介 索引是对数据库表中一个或多个 ...
- 三、MySQL子查询学习笔记(标量子查询、列子查询、行子查询、表子查询 详解)
三.MySQL子查询学习笔记 7:子查询 含义: 一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询:在外面的查询语句,称为主查询或外查询 分类: 一 ...
最新文章
- js vm报错_uni-app v3版本更新常见问题排查
- c/c++ ide clion安装编译器
- gz格式linux怎么打开,linux 下载解压gz文件怎么打开
- jquery select css样式,css配合jquery美化 select
- 24.Android-实现黑名单电话拦截
- SQL数据库面试题以及答案(50例题)
- server数据库标记为可疑 sql_Sql Server 2005数据库被标记为“可疑”问题
- java实现同步的5种方式
- 备战数学建模10-主成分分析模型与因子分析模型
- 2022年茶艺师(初级)考试试题及在线模拟考试
- python操作word
- order by(排序查询结果)和LIMT
- Queen Collisions
- Latex 字母上面加符号 波浪线 横线 角号等
- GrabCut python实现
- android 7.1 白屏,苹果iphone7手机白屏怎么回事 iphone7白屏不能关不了机的快速解决办法...
- 设计模式_简单工厂模式(Simple Factory)
- ARM NEON寄存器
- 【链表】C++链表反转、链表逆序打印(三)
- c语言a++与++a的区别
热门文章
- 专技岗位计算机应用,曲靖市麒麟区白石江街道社区卫生服务中心 2019年招聘人员岗位表...
- 【毕业设计】jsp+sql毕业生招聘系统毕业设计(系统+论文+英文文献+综合材料)
- 删除oracle 连接进程,如何查看和清除oracle无用的连接进程
- c语言gui程序,GUI编程
- android对象识别实验报告,Android 3相册实验报告.doc
- 指针c语言教学,C语言指针的指针
- oracle sql group_con,SQL:Group Functions,GROUP BY,HAVING
- 红外传感器的基础知识
- 函数作为参数传递至函数内部进行调用
- 【洛谷1527】 [国家集训队]矩阵乘法(整体二分)