前言:
课程:《三大主流数据库快速上手》(点击跳转官方课程,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快速上手[学习笔记](一)相关推荐

  1. MySQL快速上手[学习笔记](三)

    前言: 课程:<三大主流数据库快速上手>(点击跳转官方课程,b站有资源,可自搜) 笔记(点击跳转豆丁网) 此处是个人学习笔记,用作回顾用途 目录: 七.函数 八.视图 九.触发器 十.存储 ...

  2. MySQL快速上手[学习笔记](二)

    前言: 课程:<三大主流数据库快速上手>(点击跳转官方课程,b站有资源,可自搜) 笔记(点击跳转豆丁网) 此处是个人学习笔记,用作回顾用途 目录: 四.索引 五.增删改 六.SQL语句 四 ...

  3. [Docker]Docker快速上手学习笔记

    0. 学习的一些疑问 如何热更新镜像(images)?(你可以快速启动或者销毁容器.这种时间几乎是实时的) 如何热更新游戏服? 好处在于各个应用之间环境相互独立,即使某一个容器崩溃也不会影响到其它容器 ...

  4. gRPC官方快速上手学习笔记(c#版)

    上手前准备工作 支持操作系统:windows.OS X.Linux.实例采用.net..net core sdk. The .NET Core SDK command line tools. The ...

  5. B站《一天学会 MySQL 数据库》学习笔记

    B站<一天学会 MySQL 数据库>学习笔记 老司机带我飞 职场十字诀:思考.计划.行动.总结.反思 ​关注他 4 人赞同了该文章 登录和退出MySQL服务器 # 登录MySQL $ my ...

  6. 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 ...

  7. mysql性能优化-学习笔记

    mysql性能优化-学习笔记

  8. mysql快速上手3

    上一章给大家说的是数据库的视图,存储过程等等操作,这章主要讲索引,以及索引注意事项,如果想看前面的文章,url如下: mysql快速上手1 mysql快速上手2 索引简介 索引是对数据库表中一个或多个 ...

  9. 三、MySQL子查询学习笔记(标量子查询、列子查询、行子查询、表子查询 详解)

    三.MySQL子查询学习笔记 7:子查询 含义: 一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询:在外面的查询语句,称为主查询或外查询 分类: 一 ...

最新文章

  1. js vm报错_uni-app v3版本更新常见问题排查
  2. c/c++ ide clion安装编译器
  3. gz格式linux怎么打开,linux 下载解压gz文件怎么打开
  4. jquery select css样式,css配合jquery美化 select
  5. 24.Android-实现黑名单电话拦截
  6. SQL数据库面试题以及答案(50例题)
  7. server数据库标记为可疑 sql_Sql Server 2005数据库被标记为“可疑”问题
  8. java实现同步的5种方式
  9. 备战数学建模10-主成分分析模型与因子分析模型
  10. 2022年茶艺师(初级)考试试题及在线模拟考试
  11. python操作word
  12. order by(排序查询结果)和LIMT
  13. Queen Collisions
  14. Latex 字母上面加符号 波浪线 横线 角号等
  15. GrabCut python实现
  16. android 7.1 白屏,苹果iphone7手机白屏怎么回事 iphone7白屏不能关不了机的快速解决办法...
  17. 设计模式_简单工厂模式(Simple Factory)
  18. ARM NEON寄存器
  19. 【链表】C++链表反转、链表逆序打印(三)
  20. c语言a++与++a的区别

热门文章

  1. 专技岗位计算机应用,曲靖市麒麟区白石江街道社区卫生服务中心 2019年招聘人员岗位表...
  2. 【毕业设计】jsp+sql毕业生招聘系统毕业设计(系统+论文+英文文献+综合材料)
  3. 删除oracle 连接进程,如何查看和清除oracle无用的连接进程
  4. c语言gui程序,GUI编程
  5. android对象识别实验报告,Android 3相册实验报告.doc
  6. 指针c语言教学,C语言指针的指针
  7. oracle sql group_con,SQL:Group Functions,GROUP BY,HAVING
  8. 红外传感器的基础知识
  9. 函数作为参数传递至函数内部进行调用
  10. 【洛谷1527】 [国家集训队]矩阵乘法(整体二分)