mysql研究内容_Mysql的学习研究

2017年5月16日11:26:17

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

b10f9065879daeef76e244c0a8a309be.png

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

笔记:

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命令。

c89ce278eabd33497e5fb965143ff074.png

明天任务:

笔记:

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的存储过程以后到底在哪用到,我都不知道,简单的过了一遍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值