mySQL 重点

自己在学习的过程中,总结了一些知识点:
1. 安装mysql;
     google it.
2. 新建database,table;

create database database_name;
create table table_name;

3. 查看现有database,table,以及table中各个column之间的关系

show databases;
use database_name;
show tables;
desc table_name;

4. 修改现有table
     alter table table_name +action,其中action如下:

1‘,增加一个column
          add column column_name type;
     2‘, 修改一个column
          modify column_name newtype;
     3‘, 修改一个column的名字和类型
          change oldname newName newtype;
     4‘, 去掉一个column
          drop column column_name;
     5‘, 重新命名table
          rename newTableName;
5. mysql中数据类型
     文本数据类型:char和varchar,用法以及区别;
     数值型数据类型:整数(int,smallint),浮点数(float,double),定点数 (decimal);
     日期和时间:时间(time),日期(date),日期和时间(datetime);
6. 完整性约束
     1‘,PRIMARY KEY: 主键约束,只有一个
     2‘,UNIQUE: 唯一性约束
     3‘,NOT NULL 非空值约束
     4‘, AUTO_INCREMENT 整数列默认自增1,只使用与unique的;
     5‘, DEFAULT default_value 默认值约束
     6‘, FOREIGN KEY :外键约束
了解并熟悉各种约束的用法,能够动态增加和删除各个约束;
7. 数据表增加数据操作
     1‘. 为每个feild指定值
     INSERT INTO table_name
     VALUES(‘field1‘,‘field2‘);
     2‘, 插入表格中指定的feild
     INSERT INTO table_name(column1,column2)
     VALUES(‘value1‘,‘value2‘);
     3‘, 一次插入多个数据
     INSERT INTO table_name
     VALUES(‘field1‘,‘field2‘),(‘field1‘,‘field2‘),...(‘field1‘,‘field2‘);
     4. 从另一个表格中copy数据到一个表格中
     INSERT INTO table_name(column_name(s)) select column(s) from another_table;

8. 数据表删除操作
     1‘,删除满足条件的record
     DELETE FROM table_name where someColumn=somevalue;
     2‘,删除整个表中中的record
     DELETE FROM table_name;
     TRUNCATE TABLE table_name;
     DELETE * FROM table_name;
9. 数据表改操作
    1‘,修改已有record
     UPDATE table_name
     SET column1 = value1, column2 = value2
     WHERE some_column = some_value;

10. 数据表的查操作
     SELECT [DISTINCT/DISTINCTROW/ALL] FROM table_name
     WHERE where_definition
     GROUP BY column_name
     HAVING where_definition
     ORDER BY column_name [ASC/DESC]
     LIMIT num;

11. 各个查询操作
     FROM:指定查询数据的表
     WHERE: 查询数据的过滤条件
     GROUP BY: 分类
     HAVING : 对分组后的结果进行条件限制
     ORDER BY: 排序,DESC,降序;ASC,升序
     LIMIT: 显示查询的个数
12. 掌握GROUP BY的用法
     select count(*) as num,Name from copyTable group by ID,Name having num>1;
 13. 掌握WHERE语句中使用到的比较运算符
     1‘, =,!=,<>,<=,>=,<,>的用法;
     2‘, IN,NOT IN,在/不在某个子集中;
     3‘, [NOT] BETWEEN AND:在/不在。。。之间
     4‘. [NOT] LIKE:SQL 模式匹配,常用%和_;%代表任意多个字符,而_代表一个字符
     5’. IS [NOT] NULL:判断是否为空
     6‘. [NOT] REGEXP:正则表达式匹配
14. 多表查询
     INNER JOIN/LEFT JOIN/RIGHT JOIN区别

15. 建立3个简单数据表,A->B->C,其中A->B为1到多的关系,B->C为多到多关系。

熟悉外键约束,建立1对多,多对多关系;

时间: 2024-10-29 08:22:41

mySQL 重点的相关文章

mysql重点、视图、事务、备份还原【mysqldump】、mysql编程【触发器、存储函数、存储过程】、存储引擎

1.删除数据需要注意的问题[删除记录delete] 删除数据本身没有太多说的,还是删除表的时候有truncate用法 delete from是逐条删除记录[加不加条件全删,效率低,在删除表方面] truncate是重建表[删除表时效率高] 2.修改数据[update] [一下重点性能] 3.视图(view)[是一张虚拟的表:使客户端在虚拟的表中进行操作] 视图就是一条查询语句的结果[因为查询之后的结果本身就会形成一张表给客户端][视图使用到mysql的内置机制] create view 视图名

HeadFirst PHP&amp;MySQL 重点知识点记录(二)

1.foreach语句用来循环处理一个数组,一次处理一个元素,而无需使用测试条件.在循环内部,可以访问这个数组的各个元素.(这点和JS的差不多)2.内置PHP isset()函数查看一个变量是否存在,这是指它是否已经赋值.empty()会确定一个变量是否包含空值(0.空串.false或NULL).3.include,include_once,require,require_once,这类PHP语句允许在应用中的多个脚本文件之间共享脚本代码,消除重复代码,使代码易于维护.4.$FILES 这个内置

MySQL重点内容:查询语句、名称解析

MariaDB安装方式:包管理器(rpm, deb)通用二进制格式:源码编译安装:SQL:数据库.表.索引.视图.存储过程.存储函数.触发器.事件调度器.用户和权限:元数据数据库:库名为mysqlMYSQL语句:有2种DDL, DMLDDL: CREATE, ALTER, DROPDML: INSERT, DELETE, UPDATE, SELECTDCL: GRANT(授权), REVOKE(撤销授权)MariaDB程序的组成:C/S架构C:Clientmysql:CLI交互式客户端程序:my

mysql重点--正确使用

1.一些错误情况 数据库表中添加索引后确实会让查询速度起飞,但前提必须是正确的使用索引来查询,如果以错误的方式使用,则即使建立索引也会不奏效.即使建立索引,索引也不会生效: 1 - like '%xx' 2 select * from tb1 where name like '%cn'; 3 - 使用函数 4 select * from tb1 where reverse(name) = 'wupeiqi'; 5 - or 6 select * from tb1 where nid = 1 or

mysql重点--索引

1.关于索引 # 什么是索引 索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据. #索引的作用 加速查询和约束. # 为什么索引查询会变快 没创建一个索引会相应的创建一个索引表.索引表是由相应的数据和B-tree数字组成:                 30         10                        40    5         15            35             66 1   6     11    19    

《高性能MySQL》读书笔记--锁、事务、隔离级别 转

1.锁 为什么需要锁?因为数据库要解决并发控制问题.在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它.为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念. 1.1锁的分类 从对数据操作的类型(读\写)分 读锁(共享锁):针对同一块数据,多个读操作可以同时进行而不会互相影响. 写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁. 大多数时候,MySQL锁的内部管理都是透明的. 1.2锁粒度(Lock granula

《高性能MySQL》读书笔记--优化服务器设置

MySQL有大量可以修改的参数--但不应该随便去修改.通常只需要把基本的项配置正确(大部分情况下只有很少一些参数是真正重要的),应该将更多的时间花在schema的优化.索引,以及查询设计上.在正确地配置了MySQL的基本配置项之后,再花力气去修改其它配置项的收益通常就比较小了. 1.创建MySQL配置文件 建议不要使用操作系统的安装包自带的配置文件,最好从头开始创建一个配置文件.(首先要确定MySQL使用了哪个配置文件!) 2.InnoDB缓冲池(Buffer Pool) 有一个流行的经验法则说

《高性能MySQL》读书笔记--查询缓存

1.MySQL查询缓存 很多数据库产品都能够缓存查询的执行计划,对于相同类型的SQL就可以跳过SQL解析和执行计划生成阶段.MySQL还有另一种不同的缓存类型:缓存完整的SELECT查询结果,也就是"查询缓存". 查询缓存系统会跟踪查询中涉及的每个表,如果这些表发生变化,那么和这个表相关的所有的缓存数据都将失效. 查询缓存对应用程序是完全透明的.应用程序无须关心MySQL是通过查询缓存返回的结果还是实际执行返回的结果. 另外,随着现在的通用服务器越来越强大,查询缓存可能是一个影响服务器

《高性能MySQL》读书笔记--MySQL逻辑架构

一.MySQL逻辑架构 MySQL最重要的.最与从不同的特性是它的存储引擎架构,这种构架的设计将查询处理及其它系统任务和数据的存储/提取相分离. 第一层,服务层,最上层的服务并不是MySQL独有的,大多数基于网络的客户端/服务端的工具或者服务都有类似的架构.主要为请求做连接处理,授权认证,安全等. 第二层,核心层,大多数MySQL的核心服务功能都在这一层,包括查询解析,分析,优化,缓存,以及所有的内置函数(例如日期.时间.数学和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程,触发器,视