mysql数据库基础知识总结

一、基础常用命令
1.创建命令

create user ‘用户名’ @‘ip’ identified by ‘密码’; 创建用户
drop user 用户名@ip 删除用户
show databases; 查数据库
show tables; 看表
create database 数据库名 default charset utf8; 创建数据库
create table 表名(列名 数据类型 约束···,列名 数据类型 约束···)engine=innodb default charset=utf8 创建表
其中数据类型种类 数字(int,tinyint,smallint,float,double),字符串(char(个数)varchar(个数))时间(DATE,TIME,DATETIME),枚举enum(值只能是枚举中的元素),集合set(值只能是结合元素的组合)

2.查表命令
条件查询

select * from 表名;
select 列名···from 表名;
select 列名 from 表名 where 列名(id等) >/</!= value;
select 列名,常量 from 表名; 增加一个常量列
select 列名 from 表名 where 列名 in/not in/between and value;
select 列名 from 表名 where 条件1 and 条件2;
特殊的:select 列名 from 表名 where 列名 in (select 列名(只能一列) from 表名);
select 列名 from 表名 where 列名 like ‘xx%’/’%xx’/“xx_”; 查询以xx开头/xx结尾 ,%代表任意位,_代表一位
select xx,(select xx from …) from … 查询条件做常量值

分页

select 列名 from 表名 limit num; 显示num个
select 列名 from 表名 limit num1,num2;从num1后取num2行数据,num1是起始位置,num2是个数
select 列名 from 表名 limit num1 offset num2;从num2后取num1行数据,num2是起始位置,num1是个数

排序

select * from 表名 order by 列名 asc;升序
select * from 表名 order by 列名 desc;降序
select * from 表名 order by 列名1 desc 列名2 asc; 首先遵循列1降序,遇到相同数据时,升序
select count/sum/max/min/avg(列名1),列名2 from 表名 group by 列名(通常是列名2);

分组

select count/sum/max/min/avg(列名1),列名2 from 表名 group by 列名(通常是列名2)having 条件;分组操作后筛选

连表

select * from 表1 left join 表2 on 表1.列名=表2.列名; 左连接
select * from 表1 right join 表2 on 表1.列名=表2.列名; 右连接
select * from 表1 inner join 表2 on 表1.列名=表2.列名; 内连接
注意:如果超过3个表联合操作,如果其中两个表操作时已经改变了表结构,应该将这两个表操作的结果作为一个临时表再与第三个表联合操作。

3.删除,修改,插入命令
插入

insert into 表名(列名1,列名2···) values(值1,值2···),(值1,值2···),(值1,值2···); 插入值
insert into 表名1(列名) select 列名 from 表2; 在表1中插入表2中数据

修改

update 表名 set 列名1=value1,列名2=value2 where 条件1 [and/or 条件2];

删除

delete from 表名; 清除表(如果有自增id,id 不会重新开始)
delete from 表名 where 条件; 清除特定数据
truncate table 表名;清除表(如果有自增id,id 会重新开始)

4.修改表结构

alter table 表名 auto_increment=value;设置自增键起始值;
alter table 表名 drop 列名;删除列
alter table 表名 add 列名 数据类型 约束; 增加列
alter table 表名 change 旧列名 新列名 数据类型; 修改字段类型
alter table 表名 modify 列名 数据类型; 修改数据类型
alter table 旧表名 rename 新表名; 修改表名
alter table 表名 drop primary key; 删除表中主键
alter table 表名 add 列名 数据类型 primary key;添加主键
alter table 表名 add primary key(列名);设置主键
alter table 表名 add column 列名 数据类型 after 列名;在某一列后添加主键

二.mysql进阶
1.外键

外键适用于一对多,一对一,多对多三种情况

一对多

典型案例员工与部门,一个部门对应于多个员工,一个员工对应于一个部分,所以要在员工表中设置部门id列,并设置为外键,与部门表id关联。

一对一

案例博客园用户与博客,不是每个用户都写博客,写博客的用户与拥有的博客地址一一对应,所以在博客用户表user中设置blog_id,设置成外键和唯一索引,与博客表blog中id关联

create table user(id int not null auto_increment primary key,name char(10), blog_id int,unique uq1(blog_id),constraint fk_user_blog foreign key(blog_id) references blog(id))engine=innodb default charset=utf8;

多对多

典型案例电脑与用户,一个用户可以使用多台电脑,一台电脑对应多个用户,多对多,此时一般选择新建一个表contact,在其中设置两个外键,同时关联用户表id与电脑表id

create table contact(id int not null auto_increment primary key,user_id int,computer_id int,unique uq2(user_id,computer_id),constraint fk_user foreign key(user_id) references user(id),constraint fk_user foreign key(computer_id) references computer(id))engine=innodb default charset=utf8;

可以看情况决定要不要把两个外键弄成联合唯一索引。

mysql数据库基础知识总结相关推荐

  1. 1.0 MySQL数据库基础知识

    MySQL数据库基础知识 MYSQL介绍 MySQL分支版本的发展 MySQL. Oracle. SQLServer的市场区别 MYSQL数据库使用上的结构 MYSQL体系架构图 MYSQL体系架构- ...

  2. Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

    第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...

  3. 【笔记】——MySQL数据库——基础知识-——快速回顾——(加深印象篇)

    文章目录 前言 一.MySQL是什么? 二.数据库的常见概念 三.数据库存储数据的特点 四.SQL语言的分类 1.)DML 2.)DDL 3.)DCL 五.数据库的基本操作 5.1.)创建数据库 5. ...

  4. Mysql数据库基础知识总复习

    前言 小亭子正在努力的学习编程,接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ ...

  5. Mysql数据库基础知识总结,结构分明,内容详细

    数据库知识总结 一,Select的使用 1. 基本的Select语句 2.排序与分页 3.多表查询 4.函数 a.函数的理解 b.单行函数 c.聚合函数 5.子查询 a.子查询的分类 b.相关子查询 ...

  6. MySQL数据库基础知识7,查询的执行过程

    目录 一.拆分查询 二.分解关联查询 三.查询的执行过程 四.优化器的一些优化手段 1.重新定义关联表的顺序 2.将外连接转化为内连接 3.使用增加变换规则 4.优化count().max().min ...

  7. Mysql数据库基础知识

    2018年2月20日星期二 Mysql数据库 l ##MySql01 数据库简介 1. **数据库简介**          之前使用的流操作把数据存储到txt文档上,对于修改/插入等,首先代码繁琐, ...

  8. MySQL数据库基础知识,基础操作详细整理

    文章目录 1. 数据库概念介绍,应用场景 什么是数据库 术语解释 2. 关系型数据库Mysql a) 数据库的组成部分介绍(服务器.数据库.表.行和列) b) Mysql数据库安装.navicat数据 ...

  9. mysql数据库基础知识和安装与卸载(快速入门)

    数据库--MySql 项目中的数据都是保存在数据库中的. 为什么要用数据库,数据库的特点             1>数据共享             2>减少冗余度 3>便于集中控 ...

  10. MySQL数据库基础知识(一)

    一.数据库的引入 1.什么是数据库?有什么好处?   概念: 用来存储和管理数据的仓库   好处: 可以实现数据的持久化存储 2.IO流和数据库的区别? //主要体现在管理数据方面 IO:   IO流 ...

最新文章

  1. Python实用小工具了解一下,总有一款是你需要的
  2. python的模块的导入和包的导入
  3. IOS 企业版发布后,用户通过sarafi浏览器安装无效的解决方案
  4. Tomcat8.0.21登录时忘记用户名和密码
  5. 最新版的SSM框架spring5.0搭建教程(附源码)
  6. java 字符终端库_Java 字符终端上获取输入三种的方式分享
  7. android使用Dialog实现复选功能与数据库结合综合实例
  8. 面向对象学习(1):认识软件系统的复杂性
  9. Navicat Premium 15 逆向表到模型
  10. 百度AI之图像识别SDK:车牌识别
  11. 基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
  12. 又拍云存储:CDN架构探索
  13. 人工智能三大学派:符号主义,连接主义,行为主
  14. GB28181公网语音对讲
  15. 用计算机的拓展活动总结,计算机学院心理健康节素质拓展活动圆满结束
  16. 易语言c语言哪个做游戏脚本,易语言游戏脚本写法源码
  17. 自建OTA服务器实现设备固件自动更新
  18. 5800计算机交点法程序大全,FX5800计算器交点法正反算程序加入高程及隧道超欠挖...
  19. P2P-KAD(Kademlia)详解
  20. 计算机类说课优秀模板,广东省创新杯说课大赛计算机专业类一等奖作品:《模板的应用》教学设计.pdf...

热门文章

  1. 模COMSOL Multiphysics v5.3 Win64 Linux64 MacOSX64 1DVD
  2. wordpress插件_5个最佳WordPress企业目录插件
  3. 软件工程homework----九宫格记忆网
  4. 上海内推 | 上海人工智能实验室招聘计算视觉实习生(NeRF神经渲染方向)
  5. Ember.js和Vue.js对比,哪个框架更优秀?
  6. html转换为jpg格式,JPG转换成HTML的两种方法
  7. rpg制作大师_在线RPG大师班
  8. 天涯明月刀java_天涯明月刀61副本 天涯明月刀副本详情介绍
  9. linux系统支持速达软件吗,速达3000系列常见问题100问
  10. 高通骁龙各代处理器解析