/*mysql学习笔记整理*/

/*常用的数据库操作对象*/

#库的操作
#创建
#数据库的创建
USE mysql;
CREATE DATABASE db_x;
#删除
#删除数据库
DROP DATABASE db_x;
#删除数据库
#查看
SHOW DATABASES;
#查看数据库
#备份和还原
#备份|还原数据库
mysqldump -u root -p {mysql|--all-DATABASE|--database}[><]{DIRECTORY}
#表的操作
#创建
#表格的创建
CREATE TABLE tb_x
(
id INT NOT NULL,
NAME CHAR(10)
);

/*数据类型和约束*/
完整约束{NOT NULL:非空约束;UNIQUE:UK:唯一性约束;PRIMARY KEY:PK:主键约束;
AUTO_INCREMENT:自动增长约束;FOREIGN KEY:FK:外键约束}
CONSTRAINT {PK|FK|UK_tb_name}(column_name):约束名;
PK_FK_UK(column_name1,column_name2):联合约束;
fk(column_name)REFERENCES tb_2(column_name):外键联合

#表的操作

#删除
#删除表格
DROP TABLE tb_x;
#查看
#查看表格的字段
DESCRIBE tb_xx;
#修改
#表格的修改{rename:重命名表名,add{first(首行);after(字段之后);
#增加字段}
ALTER TABLE tb_x RENAME tb_xx;
ALTER TABLE tb_xx ADD num VARCHAR(20) FIRST;
ALTER TABLE tb_xx ADD weather CHAR(10) AFTER id ;
#删除表格字段
ALTER TABLE tb_xx DROP weather ;
#修改表格字段数据类型和字段名称{modify(修改和移动字段位置),change}
ALTER TABLE tb_xx MODIFY num INT;
ALTER TABLE tb_xx MODIFY id INT FIRST;
ALTER TABLE tb_xx MODIFY id INT AFTER number;
ALTER TABLE tb_xx CHANGE num number CHAR(10);

#索引的操作
#创建
#法一:在创建表格的同时,把索引当成字段
INDEX index_name(column_name);
#法二:在库里有这张表的基础上,索引字段
CREATE INDEX index_name ON table_name(column_name);
#法三:把索引同修改表格字段的方式,去映射字段的索引
ALTER TABLE table_name ADD inedx index_name(column_name);
#索引种类
#唯一索引
UNIQUE INDEX index_name;
#全文索引
FULLTEXT INDEX index_name;
#多列索引
INDEX index_name(column_name1,column_name2,......column_namen)
#删除
#删除索引
DROP INDEX index_name;
#视图的操作
#创建
#创建视图
CREATE VIEW view_name
AS #别名
sql_parmament; #{这里封装的是查询语句}

#删除
#删除视图
DROP VIEW view_name
#修改
#覆盖视图
CREATE OR REPLACE VIEW view_name
AS
new_sql_parmament;
#修改视图
ALTER VIEW view_name
AS
new_sql_parmament;

#索引同表格相同可执行select和insert及update和delete

#存储过程的操作
#存储过程的创建
DELIMITER $$
CREATE PROCEDURE procedure_name()
{COMMENT|} #动作
BEGIN
sql_parmanment;
END$$
DELIMITER;
#修改存储过程
ALTER PROCEDURE procecure_name
{COMMENT|}

#删除存储过程
DROP PROCEDURE procedure_name;

#函数的操作
#创建函数
DELIMITER $$ #结束表示符
CREATE FUNCTION function_name() #---->数据类型
RETURNS new_type; #--->新数据类型
{COMMENT|} #动作
BEGIN
RETURN(
sql_parment;
)
END$$
DELIMITER;
#修改存储过程
ALTER FUNCTION function_name
#删除存储过程
DROP FUNCTION finction_name

#触发器的操作

#触发器的创建
#单个动作
CREATE TRIGGER tri_x
BEFORE INSERT #动作的执行前后
ON tb_x FOR EACH ROW #是不是要立即触发
INSERT INTO tb_y VALUES(1,"a"); #触发动作

#多个动作
DELIMITER $$
CREATE TRIGGER tri_y
AFTER INSERT
BEGIN
ON tb_x FOR EACH ROW
INSERT INTO tb_y VALUES(1,"a");
END&&
DELIMITER;

/*{update,delete,insert 等语句}*/
#更新字段
UPDATE table_name SET COLUMN=new_column;
#删除
DELETE FROM table_name WHERE sql_if_else; #条件语句
#插入
INSERT INTO table_name VALUES(values_1,values_2,....values_n),(,,,);

/*函数及如何准确高效的select*/
#运算符
#1:算数运算符:{+,-,*,/};
#2:比较运算符:{>,<,<>,<=>,!=}
#3:特殊比较运算符:正则匹配REGEXP
/*{"o$" #结尾 "^h" #开头 "[h..o]" #字符中间

"[a-b]" #范围 "[^g~z]" #范围之外 "h+o" #字符包含

"h*o" "h|e|o" #存在 "l{2}" #出现次数 "1{0,2}";*/

#4:逻辑运算符:{||(or),&&(and),xor,!}
#5:位运算符:{|,&,^,~,>>,<<}
#6:模糊运算符:not |in(),between and,null | not null,like ,;

#条件查询
GROUP BY(columan_name);
HAVING :现状分组查询;
UNION ALL:联合表格{all不排除重复};
ORDER BY DESC|ASC:排序{降序|升序};
LIMIT:限制行数;
DISTINCT:排除重复;

#多表连接
法一:
{内连接,外连接,左连接,右连接}
{INNER|OUT|LEFT|RIGHT|JOIN table_name
ON table_name1.column_1=table_name2.column_1;
法二:
SELECT table1_name.column1_name,table2_name.column2_name
FROM table1_name,table2_name
WHERE table1_name.column1=table2_name.column2

#子查询
SELECT column_name FROM table_name WHERE column_name{运算符}
#运算符{>,<,=,in,any.....}
(
SELECT column_name FROM table_name
);

#函数
#字符串函数
#1:{concat():连接字符串,concat_ws():条件分割连接字符串}
#2:{strcmp():比较字符串大小;length()&&char_length():字符串长度}
#3:{upper&&ucase:字符转大写;lower&&lcase:字符转小写}
#4:{find_in_set(),locate(),position(),filed(),insert():查找字符串的位置}
#5::{elt():指定要显示特定字符串位置,make_set():按二进制匹配};
#6:{left():左截取;right():右截取;substring(),med():按位置和长度截取}
#7:{ltrim(),trim():处理字符串中的空格}
#8:{insert():替换指定位置的字符}
#9:{replace():字符替换函数}
#数学函数
#{fllor(),cell(),trucate(),round()};
#日期函数
#{now(),current_date(),current_time()}
#datediff():计算日期差
#系统函数
#VERSION() "系统版本",USER() "登陆用户";
#LAST_INSERT_ID()执行系统函数获取最后自增的id字段号
#其它函数
#INET_ATON("127.0.0.1")"ip地址转数字";
#INET_NTOA("1230133112")"数字转ip地址";

/*用户及权限的管理*/
#用户的创建
#法一:create
CREATE USER u5@localhost IDENTIFIED BY "123";
#法二:insert
INSERT INTO USER(HOST,USER,PASSWORD)VALUES("localhost","u6",123);
#法三:grant
GRANT ALL PRIVILEGES ON *.* TO u7@localhost IDENTIFIED BY "123";
#查看创建的用户
USE mysql;
SELECT * FROM USER;
#删除用户
#法一:drop
DROP USER u6@localhost;
#法二:delete
DELETE FROM mysql.user WHERE USER="u4" AND HOST="localhost";
#为用户设置密码
#法一:SET
SET PASSWORD FOR "u3"@"localhost"=PASSWORD("123");
SET PASSWORD=PASSWORD("456");
#法二:update
UPDATE mysql.user SET PASSWORD=PASSWORD("456")
WHERE HOST="localhost" AND USER="u6";

#权限:
#设置权限
#全部权限|部分权限
GRANT {ALL(SELECT,DROP,delete...} PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "password";
#查看权限
SHOW GRANT "user_name"@"host_name";
#收回权限
REVOKE {SELECT|DROP|DELTE|...} FROM "USER_NAME"@"HOST_NAME";
REVOKE ALL PRIVILEGES ,GRANT OPTION ON "USER_NAME"@"HOST_NAME";
#刷新权限
FLUSH PRIVILEGES;

#其它的一些mysql服务优化

#日志:{二进制日志,错误日志,慢查询日志,简要查询日志}

mysql -p FLUSH-LOG:清除日志

转载于:https://www.cnblogs.com/activecode/p/9829522.html

【mysql学习笔记整理】相关推荐

  1. MySQL学习笔记整理(上部)

    文章目录 前言 登录命令 DDL数据定义语言 一.操作库 二.操作表 创建表 字符编码问题 查看表结构 数据类型 数值类型 日期和时间类型 字符串类型 表完整性约束 完整性约束的分类 案例演示 修改表 ...

  2. mysql学习笔记整理——my.ini配置文件

    前言 数据库的本质还是将数据以文件的形式存储在磁盘上,不过通过数据库服务进行管理,mysql就是这样的一个工具,言归正传,前面只是对我以前一直以来的疑惑进行了复述. my.ini配置文件可以对数据库一 ...

  3. 00_Oracle mysql学习笔记整理

    目录 1.为什么要学习数据库 2.Oracle数据库 2.1 登录 2.2 简单查询: 2.3 单条件查询: ed 命令 2.4 多条件查询: 2.5 模糊查询 2.6 排序 2.7 字符函数:单行函 ...

  4. MySQL学习笔记整理

    一.认识数据库 数据库的好处 1.可以持久化数据到本地 2.结构化查询 数据库存储数据的特点 1.数据存放到表中,然后表再存放到库中 2.一个库中可以有多张表,每张表具有唯一的表名来标识自己 3.表中 ...

  5. Kafka入门篇学习笔记整理

    Kafka入门篇学习笔记整理 Kafka是什么 Kafka的特性 应用场景 Kafka的安装 单机版部署 集群部署环境准备 Kafka 2.x集群部署 Kafka 3.x集群部署 监听器和内外网络 K ...

  6. MySQL学习笔记-基础篇1

    MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...

  7. MySQL学习笔记-基础篇2

    MySQL学习笔记-基础篇2 目录 MySQL学习笔记-基础篇2 8.子查询 8.1 需求分析与问题解决 8.1.1 实际问题 8.1.2 子查询的基本使用 8.1.3 子查询的分类 8.2 单行子查 ...

  8. MySQL学习笔记_上(select查询)

      上次整理了一些练习发到博客上了,也说要发基础的,整理了一下午才算是把查询那块的勉强整理完,下次再整理其他的,另外还在写设计模式和数据结构的草稿,写的差不多会慢慢发的,这两项算是副线发展,主线还是按 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

最新文章

  1. 举个卡戴珊的例子,讲讲Hinton的Capsule是怎么回事 | 教程+代码
  2. ​Unity 2D游戏开发教程之2D游戏的运行效果
  3. Java自学!Java项目面试介绍
  4. 方法参数是结构体指针,报错信息是空指针怎么办
  5. GitHub 标星 7000+,面试官的灵魂 50 问,问到你怀疑人生!
  6. 团队作业8----第二次项目冲刺(beta阶段)5.25
  7. 19 PP配置-生产计划-定义冻结库存不参与MRP运算
  8. php 自制建议神马收录查询工具
  9. 基于多源数据画像的失败用例智能分析
  10. nginx 安装_Nginx 安装
  11. am最新版安装包_am软件下载-am剪辑软件(alight motion)中文版下载v2.3.1-11玩家网
  12. 华为荣耀手机root解锁BL+刷机教程
  13. 幕布(思维导图)官方版 v1.1.15
  14. OpenJudge NOI题库 116题
  15. linux卸载phpstudy_phpStudy Linux 面板安装教程
  16. 大学生bootstrap框架网页作业成品 bootstrap响应式网页制作模板 学生海贼王动漫bootstrap框架网站作品
  17. k8s pod 污点
  18. 按键精灵手机版_关于截屏一些方法
  19. 这些各行各业优秀的ppt模板推荐给大家
  20. 追MM“23式”—— GOF 23种设计模式

热门文章

  1. php 定义goto函数错误,goto语法在PHP中的使用教程
  2. 当领导,核心是“抓住2点、做好5条”!做到了,员工根本不用管
  3. AI发展格局正从“数据”演变为“知识”
  4. 技术新进展!谷歌AI部门宣布发现新技术以加速AI神经网络训练
  5. 机器学习加深了“知识”和“理解”之间的鸿沟
  6. AI洞观 | 一文读懂英特尔的AI之路
  7. 干货丨综述卷积神经网络:从基础技术到研究前景
  8. Python 之 Matplotlib (一)基本用法
  9. 饶毅:中国脑计划是我见过的最差科学经费管理,中国猴计划应该缓行
  10. 2022年六大值得关注的边缘计算趋势