Mysql数据库

目前刚开始学习Mysql,对自己所学的内容做一个总结,会慢慢进行补充!

  • 创建数据库
-- 创建数据库
CREATE database database_name;
-- 创建指定字符集的数据库
CREATE database database_name character set=gbk/utf8;
-- 创建数据库前判断是否存在同名数据库
CREATE database if not exists database_name;
  • 数据库基本操作
-- 查看数据库
SHOW databases;
-- 显示数据库创建信息
SHOW create database 库名;
-- 查看当前数据库
SELECT database();
-- 设置默认字符集
ALTER database database_name default character set gbk/utf8;
-- 删除数据库
DROP database database_name;
  • 数据表基本操作
-- 创建数据表
CREATE table 表名(字段名1 类型(长度) [约束],字段名2 类型(长度) [约束],......);
-- 查看数据表
SHOW tables;
-- 查看表结构
desc table_name;
-- 向表中新添加列,[]内表示在某列的前或后添加,不指定则添加到最后
ALTER table table_name add 列定义 [first/after 列名];
-- 列名重定义
ALTER table table_name change 列名 原列名;
-- 修改列数据类型
ALTER table table_name modify 列定义;
-- 删除列
ALTER table table_name drop 列名;
-- 重命名该表
ALTER table table_name rename 新表名;
-- 排序
ALTER table table_name order by 列名;
-- 指定修改默认值或删除
ALTER table table_name alter 列名 {set default literal/drop default}
-- 删除表
DROP table table_name;
-- 创建一个结构相同的空表
CREATE table table_name1 like table_name2;
  • 用户管理基本操作
-- 创建新用户  用户='用户名'@'主机名'
CREATE user 用户 identified by 'password';
-- 删除用户
DROP user 用户;
-- 授权用户权限 table_name可用*代表所有表
GRANT privileges on database_name.table_name to 用户;
-- 回收用户权限
REVOKE privileges on daatabase_name.table_name from 用户;  /*其中privileges可以包含:CREATE,ALTER,DROP:库/表结构操作SELECT,INSERT,DELETE,UPDATE:数据操作REFERENCES:外键权限INDEX:索引 */
-- 修改用户名
RENAME user 老用户 to 新用户;
-- 修改用户密码
SET PASSWORD for 用户=password('新密码');
-- 删除用户
DROP user 用户; 
  • 数据插入
-- 插入新记录方式一,可插入多条
INSERT into table_name(列名1,列名2,...)  values  (记录1,记录2,...),(记录1,记录2,...),(...);
--  插入新记录方式二
INSERT into table_name set 列名1=记录1,列名2=记录2,...;
-- 从已有的表中插入数据进来
INSERT into table_name1 select * from table_name2;
-- 从一个库的一张表记录插入到另一个库的另一张表中
INSERT into database_name1.table_name1 select * from database_name2.table_name2;
  • 数据修改
-- 修改表数据
UPDATE table_name1,table_name2,... set 列名1=expr1,列名2=expr2,...  where 条件;
-- 将表1的列名1设置成跟表2的列名2一样
UPDATE table_name1 a,table_name2 b set a.列名1=b.列名2 where 条件;
  • 数据删除
-- 删除数据表中的所有记录
DELETE from table_name;
-- 删除满足条件的行
DELETE from table_name where 条件;
-- 刪除user1中id值等於user的所有行和user2的id值等于user的id值的所有行
DELETE user1,user2 from user1,user2,user where user1.id=user.id and user2.id=user.id;
  • 数据查询
常规查询
-- 查询tb_course表中所有字段
SELECT * FROM tb_course;
-- 查询tb_student表中各个学生的sname,sage,edate
SELECT sname,sage,edate FROM tb_student;
-- 查询tb_student表中的sno,sname,ssex,结果中各字段的标题分别指定为学号,姓名,性别
SELECT sno 学号,sname 姓名,ssex 性别 FROM tb_student;
-- 替换查询结果中的数据
CASE
WHEN 条件1 THEN 表达式1
WHEN 条件2 THEN 表达式2
……
ELSE 表达式n
END (别名)
FROM tb_name WHERE 条件;
SELECT sno,cno,
-- 查询tb_mark表中cno='c002'的成绩信息,对成绩小于60的替换为'不及格';若在60-89之间替换为'及格',90分以上为'优秀'.若grade为空值,则替换为'缺考'.case表达式的别名改为'成绩等级'.
CASE
WHEN grade<60 THEN '不及格'
WHEN grade BETWEEN 60 AND 89 THEN '及格'
WHEN grade BETWEEN 90 AND 100 THEN '优秀'
ELSE '缺考'
END 成绩等级
FROM tb_mark WHERE cno='c002';
条件查询
SELECT 字段名 FROM 表名 WHERE 条件;
-- 比较运算符
= <>,!= > < >= >=
-- 查询学生表中sage在18到20之间的snmae  //范围比较
SELECT sname FROM tb_student where sage between 18 and 20;
SELECT sname FROM tb_student where sage>=18 and sage<=20;
-- 查询学生表中19软件1班和19软件6班学生情况
SELECT * FROM tb_student where classname in('19软件1班','19软件6班');
-- 查询学生表中除了19软件1班和19软件6班其他班的学生情况
SELECT * FROM tb_student where classname not in('19软件1班','19软件6班');
-- 查询学生表中手机号不为空的学生情况  //空值比较
SELECT * FROM tb_student where tel is not null;
-- 查询未选修Mysql数据库应用的学生的姓名、学号  //in子查询
SELECT sno,sname FROM tb_student
->where sno not in(SELECT sno FROM tb_mark
->where cno in(SELECT cno FROM tb_course where cname='MySQL数据库应用'));
-- 比较子查询
表达式{比较运算符}{ALL|ANY}
-- 查找年龄比19软件4班学生年龄都大的学生信息
SELECT * FROM tb_student
->WHERE sage>ALL(
->SELECT sage FROM tb_student WHERE classname='19软件4班');
-- 查找年龄比19软件4班学生年龄任意一位大的学生信息
SELECT * FROM tb_student
->WHERE sage>ANY(
->SELECT sage FROM tb_student WHERE classname='19软件4班');
  • show语句
SHOW tables或 SHOW tables from database_name; //显示当前数据库中所有表名称
SHOW databases; //显示所有数据库的名称
SHOW columns from table_name from database_name 或 SHOW columns from database_name.table_name;  //显示表中列的名称
SHOW grants for user_name;  //显示一个用户的权限,显示结果类似于grant命令
SHOW index from table_name; //显示表的索引
SHOW status; // 显示一些系统特定资源的信息,例如正在运行的线程数量
SHOW variables; //显示系统变量的名称和值
SHOW processlist; //显示系统中正在运行的所有进程
SHOW table status; //显示当前使用或者指定的database中的每个表的信息;
SHOW privileges: //显示服务器所支持的不同权限。
SHOW create database database_ name: //显示创建某一个数据库的CREATEDATABASE语句。
SHOW create table table_name: //显示创建一个表的 CREATE TABLE语句。
SHOW events; //显示所有事件的列表。
SHOW innodb status;  //显示innoDB存储引擎的状态。
SHOW logs;  //显示BDB存储引擎的日志。
SHOW warnings;  //显示最后一个执行的语句所产生的错误、警告和通知
SHOW errors;  //只显示最后-一个执行语句所产生的错误。
SHOW [storage] engines;  //显示安装后的可用存储引擎和默认引擎。
SHOW procedure status;  //显示数据库中所有存储过程基本信息,包括所属数据库、存储过程名称、创建时间等。
SHOW create proceduresp_name;  /显示某一个存储过程的详细信息。

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数据库基础知识

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

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

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

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

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

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

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

最新文章

  1. 人工智能顶级会议ICLR取消线下会议:远程出席、视频演讲
  2. oraclf 复杂查询练习_刷完这些烧脑的SQL练习题,复杂查询才能熟能生巧
  3. adams2015安装教程
  4. .Net Core 读取文件时中文乱码问题的解决方法
  5. mysql二阶段提交有什么问题_MySQL的事务两阶段提交的技术有什么意义?
  6. hdu 1524 A Chess Game
  7. [转载]让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
  8. 软件工程之软件概要设计
  9. 中专计算机应用基础知识点归纳,《计算机应用基础》各章知识点归纳大全
  10. 海康摄像头如何查看IP,重置密码
  11. 微信红包封面开放平台序列号
  12. 遥感图像计算机自动分类原理,第30讲:8.1遥感图像自动识别分类
  13. Vue--解决官网网站404的问题
  14. android---转轮菜单
  15. matlab 多元回归分析 regress、 nlinfit 、stepwise函数
  16. SpringBoot(3) 获取后台返回字符串对象及json数据
  17. 三菱服务器显示rb是什么故障,三菱变频器常见的故障代码 以及故障说明
  18. Amazon Australia 可通过EDI实现哪些业务单据对接?
  19. 快速解决Ubuntu镜像在官网下载速度很慢的方法
  20. python代码实现切换中英文输入法

热门文章

  1. 高速波特率串口通信软件设计方法
  2. 云计算之路-阿里云上:愚人节被阿里云OCS愚
  3. 数学计算-C语言实现
  4. 上古卷轴 java_我打通了197KB的《上古卷轴四:湮灭》,诺基亚手机上的那一种...
  5. 服务器更换ssl证书后,手机访问微信小程序异常
  6. 【技能】眼镜清洗,如何不用眼镜布让眼镜一尘不染?
  7. 蚂蚁前端高级工程师面试必备攻略,面试不仅仅是技术还要看回答方式以及思路.(附全套面试题)
  8. https页面打不开
  9. wegame提示当前上网环境异常错误代码7620296的解决方法
  10. 易语言大漠把游戏窗口嵌入辅助窗口