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 NULL7.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 mysql3.#返回可用数据库列表SHOW DATABASES4.#返回当前数据库中可用表SHOW TABLES4.#返回表列SHOW COLUMNS FROM db5.#显示特定数据库的创建语句SHOW CREATE DATABASE mysql6.#显示广泛的服务器状态信息SHOW STATUS7.#显示授权用户的安全权限SHOW GRANTS8.检索不同的行用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 #选择引擎,如果没有默认为MyISAM2.更新表ALTER TABLE tablename1ADD filed1 CHAR(20)ALTER TABLE tbalename2DROP COLUMN filed1复制删除表DROP TABLE tablename1
复制重命名表
RENAME TBALE oldtablename TO newtablename
————————————————————————————————分割线————————————————
总结
mysql的存储过程以后到底在哪用到,我都不知道,简单的过了一遍。