Mysql的学习研究
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的学习研究的更多相关文章
- MySQL事务学习-->隔离级别
MySQL事务学习-->隔离级别 6 事务的隔离级别 设置的目的 在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别. 数据库是要被广大客户所共享访问的,那么在数据库操作过程中 ...
- BigPipe学习研究
BigPipe学习研究 from: http://www.searchtb.com/2011/04/an-introduction-to-bigpipe.html 1. 技术背景 FaceBook ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Mysql事件学习
出自:http://blog.chinaunix.net/uid-20639775-id-3323098.html Mysql事件学习 在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQ ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MySQL数据库学习: 01 —— 数据库的概述
壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...
- 一个很好的MySQL在线学习平台
一个很好的MySQL在线学习平台 https://www.techonthenet.com/sql/
随机推荐
- win10 创建安卓模拟器及启动的方法
一打开 安卓 studio 然后点击AVD manager 创建一个模拟器 二 通过命令行快速启动模拟器 D:\Android\sdk\tools\emulator.exe -netdelay non ...
- 自动生成logo的网址
1.https://www.logaster.com/logo/
- Redis 命令二
一.连接控制 QUIT 关闭连接 AUTH (仅限启用时)简单的密码验证 二.适合全体类型的命令 EXISTS key 判断一个键是否存在;存在返回 1;否则返回0; DEL key 删除某个key, ...
- 转:Eclipse自动补全功能轻松设置
Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件 2012-03-08 21:29:02| 分类: Java | 标签:eclipse 自动补全 设置 |举报|字号 订阅 ...
- Angular 学习笔记——ng-Resource
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- Beautiful Soup 4.4.0 基本使用方法
Beautiful Soup 4.4.0 基本使用方法Beautiful Soup 安装 pip install beautifulsoup4 标准库有html.parser解析器但速度不是很快一般 ...
- Sql Server 表分区(转)
什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在 ...
- Python学习笔记(二)网络编程的简单示例
Python中的网络编程比C语言中要简洁很多,毕竟封装了大量的细节. 所以这里不再介绍网络编程的基本知识.而且我认为,从Python学习网络编程不是一个明智的选择. 简单的TCP连接 服务器代码如 ...
- 【Xcode学C-3】if等流程控制、函数的介绍说明标记分组、#include以及LLVM
一.流程控制:if.while和for循环 (1)if括号中面常常遇到推断是否相等的情况,并且新手常常会把==写成=.所以建议的习惯是把常量放在前面.如a==10.写成10==a,这样就不易犯错. ( ...
- eclipse 内存配置
-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:+UseG1GC