美文网首页
MySQL知识点

MySQL知识点

作者: 方研梅 | 来源:发表于2017-11-15 10:00 被阅读0次
默认端口号3306

启动/关闭MySQL数据库


cmd命令行

后面的CHARACTER为数据库的编码方式设置,否则的话按照数据库本身的默认编码方式;

其中,DATE一般表示日期范围:1000.01.01~9999.12.31;

DATETIME:1000.01.01 00:00:00~9999.12.31 23:59:59;

TIMESTAMP时间戳:1970年1月1日零点~2037年

其中,CHAR类型表示定长的字符型,对于没达到该长度的字符,用空格补齐;

VARCHAR表示变长的字符型;


==================1  创建数据表 CREATE   ==================


使用USE命令打开一个数据库;使用SELECT DATABASE();命名查看当前打开的数据库,如上图所示;


=2=查看数据表



=3=查看数据表的列(字段)信息




=4=向表中插入行(记录)信息



=5=查找相应的记录信息



=6=字段的相关约束



空与非空 自动编号约束 主键约束

自动编号约束必须与主键约束同时使用,而主键约束可以独自使用;且主键约束一张表只能有一个,且不能为空值;

唯一约束

唯一约束一张表可以有多个,可以为空值

默认值约束

======约束======


对于表级约束和列级约束的划分:由受约束的字段数目决定;如果约束只涉及一列,则为列级约束;如果涉及两列及以上的,则为表级约束;

外键约束

当某一列设置了主键约束,则MySQL会自动为其创建索引;

在创建了外键约束之后,如果父表进行了插入删除等操作,对于子表是否也会进行相应的操作?

其中,NOT NULL和DEFAULT约束只有列级没有表级


===================  2 修改数据表  ALTER  ==================


first位于最前面,没有【】里面的时候则该新添加的列位于最后面


===============增加列用ADD关键字=====================



===================删除列用DROP关键字====================


添加主键约束 添加唯一约束 添加外键约束

======添加默认约束用SET关键字  删除默认约束用DROP关键字======

==================修改列信息用MODIFY关键字================

==========关键字CHANGE可以同时修改列名称和列定义============

=================修改表名称RENAME关键字==================

方法二可以同时修改多张表的名称,一般不建议修改表名称和列名称,因为在涉及视图和存储过程中,如果有对表名称和列名称的引用时,该修改会导致程序出错。

=========对数据表中的记录的操作——增、删、改、查========

INSERT插入记录的三种方式:


1》普通插入——VALUES| VALUE关键字

2》INSERT-SET插入方式(使用子查询)

3》INSERT-SELECT插入方式(将查询结果插入到指定数据表中)

对于设置为“自增”的字段,可以用NULL或者DEFAULT关键字表示值,从而不用赋值就可以遵守自增的要求;

对于其他的字段,可以是NULL/DEFAULT/或者是表达式(多条记录)或者函数(只能插入一条记录)

UPDATE更新记录


当无WHERE 条件时,将对所有记录进行更新,否则对某些特定记录进行更新;

DELETE删除记录


SELECT查找记录


tal_name.*方式可以方便多表查询时,有相同名称的字段,当带上相应的表名时,便于区分;

HAVING后的条件为:聚合函数(例如MAX/MIN/AVG/SUM,永远只有一个返回结果)或者要保证该字段一定要出现在当前SELECT后的语句中,否则会发生SELECT错误;

=============增删改 属于“写”操作、查 属于“读”操作=============

===========子查询=========

子查询并不是查找,而是所有SQL命令的统称;

当子查询返回多个结果时,可用ANY/SOME/ALL修饰,使其只返回一个结果

======================多表更新=========================

==========================连 接==========================

外链接A表决定B表,A表依赖于任何表,但是唯独不依赖于B表

foreign key是物理连接,而对于事务连接反而是更常用的;外键是将数据分开存储,反过来“连接”是将多张表联系在一起;

=====================运算符和函数========================

TRIM无法删除中间指定字符,只能删除头部和尾部;

删除前导指定字符——TRIM( LEADING '?' FROM ' ??MySQL???');

删除结尾指定字符——TRIM(TRAILING '?' FROM ' ??MySQL???');

删除所有指定字符——TRIM(BOTH '?'FROM ' ??MySQL???');

_(下划线)代表任意一个字符;

%(百分号)代表“任意个”字符;

要想让“%”表示百分号,而不是模式匹配符,可以用LIKE '%1%%' ESCAPE '1';

表示1(1可以是任意的都行,不一定非得为1)后面的百分号%取消通配符的作用,从而表示其原有意思;

between and表示是否在范围内,而IN表示的是一个集合,某个元素是否在该集合内;

last_insert_id()要使用时,该表中必须有自动编号的字段,字段名不一定为ID;当同时写入多条记录时,只会返回第一条的ID,而得不到后续记录的ID;

聚合函数的特点是只有一个返回值;

======================自定义函数=========================

参数与返回值没有必然的内在联系;

返回值必须要有,而参数无要求(但是个数必须小于1024个);

SET NAMES GBK;只会影响客户端的编码方式,不会影响服务器的编码方式;即客户端写汉字为gbk,而写入数据库中时,仍为数据库默认的编码方式;(因为数据库是存在于服务器中)

DELIMITER //;该命令会使得SQL语句以“//”结束;或者可以自行设置其他的字符结束格式;

定义了一个f1函数,无参数;

定义了一个F2函数,有2个输入参数;

定义复杂的函数体,有BEGIN和END实现;

=========================存储过程========================

SQL语句的执行过程

对于“语法分析”和“编译过程”,是可以省略的,从而优化SQL语句;

进而将一些SQL语句封装成“存储过程”,就可以直接调用编译结果,从内存中执行,从而达到了优化的效果;

过程体中的“任意”是有要求的;一般是对记录的“增删改查和多表连接”操作;

修改存储过程,只能修改简单的特性;当想要真正修改存储过程内容时,则必须要先删除再重建;

BEGIN和AND之间申明的变量为局部变量,其作用范围只能在函数体BEGIN和AND之间;

@i 这种带@形式的变量,为用户变量,是与数据库的客户端绑定的,只对当前用户所使用的客户端有效;

ROW_COUNT();函数返回被插入、更新、删除的行数;

存储过程一般是针对与整个表的;而函数一般不是用于表,一般与SQL语句混合使用;

存储在数据库内,可以由应用程序通过调用执行,允许用户声明变量,以及进行有条件的执行;

可包含程序流、逻辑、对数据库的查询,可接收参数(三种类型IN/OUT/INOUT);

关系型数据库中数据的存储以表的形式实现,存储引擎也可以称之为表类型;

处理并发控制是通过“锁”实现的;

锁粒度又称为锁颗粒,是对数据进行锁定时的单位;只需对需要修改的数据精确加锁,而无须对所有数据加锁;

要在锁开销和安全性之间寻求平衡;当锁粒度小,则开销大,然而安全性好;

事务是数据库区别于文件系统的重要特征之一;

使用索引可以快速访问数据表中的特定信息,索引是进行记录快速定位的方法;

分为普通索引、唯一索引、全文索引、btree索引、hash索引;

MyISAM使用与事务的处理不多的情况;

InnoDB适用于事务的处理较多的情况,需要有外键支持的情况;

其他存储引擎:BlackHole黑洞引擎,写入的数据都会消失,一般用于做数据复制的中继;

第一种方法 第二种方法 第三种方法 图形化管理工具

相关文章

  • 【视频分享】尚硅谷MySQL核心技术&&MySQ

    尚硅谷MySQL核心技术&&MySQL高级视频 尚硅谷MySQL核心技术 本视频涵盖MySQL核心技术主要知识点,...

  • MySQL知识_索引

    目录索引: ლ(′◉❥◉`ლ) 点击此链接 MySQL_博客园链接Mysql基础原理知识点总结狂神说 讲解mysql

  • Mysql基础操作扫盲

    Mysql基础知识点整理:思维发散 未完,待续

  • mysql锁和事务相关知识点

    梳理了mysql锁和事务相关知识点,如下图所示

  • 2018-07-06

    知识点 一 mysql函数库 二 mysql 制作用户的增删改模块 三 需要打包mysql函数库中的函数 一 my...

  • mysqldump数据库恢复

    知识点; 简单mysql数据库恢复操作; 完整备份方式;

  • MySQL知识点总结「修订版」

    花了几天时间对之前总结的MySQL知识点做了完善,这篇文章可以用来回顾MySQL基础知识以及备战MySQL常见面试...

  • Mysql 快速指南

    Mysql 快速指南 本文的示例在 Mysql 5.7 下都可以测试通过。 知识点 概念 SQL 基础 增删改查 ...

  • MySQL高级

    一,小知识点,面试考过 mysql设置开机自启动:chkconfig mysql on 查看有哪些是开启自启的:n...

  • MySQL一一数据类型与函数

    Mysql 数据类型和函数 知识点数据类型分类CHARVARCHARintfloatDATETIMETIMESTA...

网友评论

      本文标题:MySQL知识点

      本文链接:https://www.haomeiwen.com/subject/auhcvxtx.html