2017年5月16日11:26:17

从今天开始过一遍数据库的基础教程,加油!!!!!

看了之后对一些基础知识有了理解,加油。。。

笔记:

2017年5月16日11:35:46
mysql的基础教程
1.Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS
(Relational Database Management System:关系数据库管理系统)应用软件之一。
2.数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
3.USE 数据库名 :选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。
SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。
SHOW TABLES: 显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
SHOW COLUMNS FROM 数据表: 显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
SHOW INDEX FROM 数据表: 显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
SHOW TABLE STATUS LIKE 数据表\G: 该命令将输出Mysql数据库管理系统的性能及统计信息。
4.MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
5.创建MySQL数据表的SQL通用语法:
CREATE TABLE table_name (column_name column_type);
6.创建表的例子:
create tabletutorials_tbl(
tutorial_id INT NOT NULL AUTO_INCREMENT,
tutorial_title VARCHAR(100) NOT NULL,
tutorial_author VARCHAR(40) NOT NULL,
submission_date DATE,
PRIMARY KEY ( tutorial_id )
);
7.删除MySQL数据表的通用语法:
DROP TABLE table_name ;
8.向MySQL数据表插入数据通用的 INSERT INTO SQL语法:
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
如果数据是字符型,必须使用单引号或者双引号,如:"value"。
9.在MySQL数据库中查询数据通用的 SELECT 语法:
SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause] [OFFSET M ][LIMIT N]
10.SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....\
1.UPDATE 命令修改 MySQL 数据表数据的通用SQL语法:
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
2.DELETE 语句从MySQL数据表中删除数据的通用语法:
DELETE FROM table_name [WHERE Clause]
3.SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
4.SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
5.MySQL left join 与 join 有所不同。 MySQL LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。
6.查找数据表中列是否为 NULL,必须使用IS NULL和IS NOT NULL
7.MySQL 事务主要用于处理操作量大,复杂度高的数据。
8.在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务.
9.事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行
事务用来管理insert,update,delete语句
10.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、
Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)
1.1、事务的原子性:一组事务,要么成功;要么撤回。
2、稳定性 : 有非法数据(外键约束之类),事务撤回。
3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,
那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。
可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候吧事务保存到日志里。
5.alter的作用
修改表名
增加列名 数据类型
设置列默认值

————————————————分割线——————————————加油!!!!!

继续学习,

2017年5月16日16:26:03

mysql基础教程已经看完,

笔记:

2017年5月16日16:26:13
1.MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。
2.索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,
但这不是组合索引。组合索引,即一个索包含多个列。
3.创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
4.虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。
因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。建立索引会占用磁盘空间的索引文件。
5.MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,
当关闭连接时,Mysql会自动删除表并释放所有空间。
6.命令 描述
SELECT VERSION( ) 服务器版本信息
SELECT DATABASE( ) 当前数据库名 (或者返回空)
SELECT USER( ) 当前用户名
SHOW STATUS 服务器状态
SHOW VARIABLES 服务器配置变量
7.防止表中出现重复数据
你可以在MySQL数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。
8.你可以设置双主键模式来设置数据的唯一性, 如果你设置了双主键,那么那个键的默认值不能为NULL。
9.所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,
最终达到欺骗服务器执行恶意的SQL命令。

明天任务:

笔记:

  

2017年5月31日15:16:50
1.关于MySQL的存储过程
存储过程是数据库存储的一个重要的功能,但是MySQL在5.0以前并不支持存储过程,这使得MySQL在应用上大打折扣。好在MySQL 5.0终于开始已经支持存储过程,
这样即可以大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。
2.#选择数据库
USE mysql
3.#返回可用数据库列表
SHOW DATABASES
4.#返回当前数据库中可用表
SHOW TABLES
4.#返回表列
SHOW COLUMNS FROM db
5.#显示特定数据库的创建语句
SHOW CREATE DATABASE mysql
6.#显示广泛的服务器状态信息
SHOW STATUS
7.#显示授权用户的安全权限
SHOW GRANTS
8.检索不同的行用DISTINCT,只返回不同的值。

限制结果,LIMIT子句
LIMIT 5 返回不多于5行。

LIMIT 3,4 从行3开始的4行

LIMIT 4 OFFSET 3 (结果同上)【MySQL5以后支持】

ORDER BY 子句排序
DESC/ASC 指定排序方向

WHERE子句,ORDER BY位于WHERE之后。
9.时间函数:
DATE() 主要是日期

TIME() 主要是时间

NOW() 获得当前时间

数值处理函数:
ABS() 返回一个数的绝对值

COS() 返回一个角度的余弦值

EXP() 返回一个数的指数值

MOD() 返回除操作的余数

PI() 返回圆周率
RAND() 返回一个随机数

SIN() 返回一个角度的正弦

SQRT() 返回一个数的平方根

TAN() 返回一个角度的正切

聚集函数:
AVG() 返回某列的平均值

COUNT() 返回某列的行数

MAX() 返回某列的最大值

MIN() 返回某列的最小值

SUM() 返回某列值之和,忽略列值为NULL的行。
10.常用数据库引擎

InnoDB是一个可靠地事务处理引擎,它不支持全文本搜索。

MEMORY在功能上等同于MyISAM,但由于数据存储在内存中,速度很快

MyISAM是一个性能极高的引擎,它支持全文本搜索,但不支持事务处理。
1.#创建表
CREATE TABLE vendors

{

vend_id INT NOT NULL AUTO_INCREMENT, #自增属性

vend_name CHAR(50) NOT NULL, #不为空属性

vend_city CHAR(50) NULL, #允许为空属性

vend_age int NOT NULL DEFAULT 1, #默认值为1,不允许使用函数,只能用常亮

PRIMARY KEY (vend_id, vend_name) #联合主键,可以单个字段做主键

} ENGINE = INNODB #选择引擎,如果没有默认为MyISAM
2.更新表
ALTER TABLE tablename1

ADD filed1 CHAR(20)

ALTER TABLE tbalename2

DROP COLUMN filed1
复制
删除表

DROP TABLE tablename1
复制

重命名表

RENAME TBALE oldtablename TO newtablename

————————————————————————————————分割线————————————————

总结
  mysql的存储过程以后到底在哪用到,我都不知道,简单的过了一遍。

Mysql的学习研究的更多相关文章

  1. MySQL事务学习-->隔离级别

    MySQL事务学习-->隔离级别 6 事务的隔离级别 设置的目的 在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别. 数据库是要被广大客户所共享访问的,那么在数据库操作过程中 ...

  2. BigPipe学习研究

    BigPipe学习研究   from: http://www.searchtb.com/2011/04/an-introduction-to-bigpipe.html 1. 技术背景 FaceBook ...

  3. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. Mysql事件学习

    出自:http://blog.chinaunix.net/uid-20639775-id-3323098.html Mysql事件学习 在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQ ...

  7. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  8. MySQL数据库学习: 01 —— 数据库的概述

    壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...

  9. 一个很好的MySQL在线学习平台

    一个很好的MySQL在线学习平台 https://www.techonthenet.com/sql/

随机推荐

  1. 开源 ≠ 免费,开源协议License详解

    凡是做过软件开发的,都会接触到开源软件或开源组件,它们都会基于某种协议来提供源码和授权,那么这些开源协议到底有哪些约束呢? 在介绍之前,必须告诉大家,针对开源协议,必须打消“开源 = 免费”这个念头, ...

  2. 新人补钙系列教程之:AS3 位运算符

    ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数).在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢? 有符号整数使用 3 ...

  3. [Functional Programming] Read and Transform Values from a State ADT’s State (get)

    Many times we need to access and transform state, either in part or in full, to be used when calcula ...

  4. 关于websocket和ajax无刷新

    HTTP无状态: Ajax只能实现用户和服务器单方面响应(单工机制). 如果设置为长轮询(ajax设置多少秒进行一次请求,时间间隙可能会有延迟,且浪费资源) 如果设置为长连接(客户端请求一次,服务器保 ...

  5. quick-cocos2d-x教程9:实例之加上背景图片

    在梳理完quick-cocos2d-x框架的各个文件夹后,我们開始我们的实例教程,在helloworld后面.加上一张图片,lua编辑器,我用的lua editor.还不错. 我们首先还是參照教程.创 ...

  6. Oracle11g登陆sqlplus时一直提示密码错误

    我安装oracle的时候有自己设置帐号和密码,我也在服务里的oracleserver中查看了正在运行的用户名,是我注册时填的那个并已开启.但是为什么登陆Sqlplus老是说密码错误呢?我敢肯定密码没有 ...

  7. Archlinux风扇设置

    在笔记本(ThinkPad T440)连续两天因过热而死机后, 对内核的风扇控制算法果断失去信心. 风扇的用户层控制接口是 /proc/acpi/ibm/fan, 但为防止用户控制不当烧坏机器, 默认 ...

  8. 单机Redis实现分布式互斥锁

    代码地址如下:http://www.demodashi.com/demo/12520.html 0.准备工作 0-1 运行环境 jdk1.8 gradle 一个能支持以上两者的代码编辑器,作者使用的是 ...

  9. NSMutableAttributedString 的使用方法,设置格式

    NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:title]; NS ...

  10. UIWebView 加载网页、文件、 html

    UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过al ...