1. 基础概念
存储引擎
InnoDB是一个可靠地事务处理引擎,不支持全文本搜索 MyISAM是一个性能极高的引擎,支持全文本搜索,不支持事务处理
数据库-database
保存有组织的数据的容器(通常是一个文件或一组文件)
表-table
特定类型数据的结构化清单
模式-schema
关于数据库和表的布局及特性的信息
列-column
特定类型数据的结构化清单
数据类型-datatype
所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据
行-row
表中的一个记录
主键-primary key
一列或一组列,其值能够唯一区分表中的每个行
2. MySQL命令
** 创建库 **
SQL CREATE DATABASE TEST_001;
** 切换数据库 **
SQL use db_name;
** 显示所有的数据库**
SQL show databases;
** 显示数据库中所有的表**
SQL use db_name; show tables;
** 显示某一个表的结构信息**
SQL show columns from table_name; or desc table_name;
** 显示表的创建sql**
SQL show create database db_name; show create table table_name;
** 其它命令**
SQL show status 服务器状态信息 show grants 显示授权用户 show errors/show warnings 显示服务器错误或警告信息
3. MySQL查询命令
MySQL子句顺序: SELECT FROM WHERE GROUP BY HAVING ORDER BY LIMIT
** 查询单个列,多列,全部列,去重**
SQL SELECT col FROM table; SELECT col1, col2 FROM table; SELECT * FROM table; SELECT DISTINCT col FROM table;
** 限定查询条数**
SQL SELECT col1 FROM table LIMIT 5; 前5条数据 SELECT col1 FROM table LIMIT 5,5; 从第5条开始,取5条数据
** 排序**
DESC:倒序 ASC:升序
SQL SELECT col1 FROM table ORDER BY col1 默认升序 SELECT col1 FROM table ORDER BY col1,col2 默认升序
** WHERE,范围,空值检查**
SQL SELECT col1, col2 FROM table WHERE col1 = 'hello'; SELECT col1, col2 FROM table WHERE col2 BETWEEN 5 AND 10; SELECT col1, col2 FROM table WHERE col3 IS NULL;
** AND、OR**
优先级 and 大于 or, 先处理的and, 当两者都存在时,需要使用括号指定优先级
SQL SELECT col1, col2 FROM table WHERE col1 = 'hello' AND col2=3; 两个条件都要符合 SELECT col1, col2 FROM table WHERE col1 = 'hello' OR col2=3; 只要一个条件符合 select prod_id from products where (prod_price < 2.5 or vend_id = 1000) and prod_price > 1;
** IN,NOT IN**
```SQL
SELECT col1 FROM table WHERE col1 IN (1,100); 查询col1为1,100的数据
SELECT col1 FROM table WHERE col1 NOT IN (1,100); 查询col1不为1,100的数据
** LIKE**
```SQL
多个匹配
SELECT col1 FROM table WHERE col1 LIKE ‘hell%’ ; 匹配以hell开头字符串
SELECT col1 FROM table WHERE col1 LIKE ‘%hell’; 匹配以hell结尾字符串
单个匹配
SELECT col1 FROM table WHERE col1 LIKE ‘_hell’; hell前有一个字符
来源:oschina
链接:https://my.oschina.net/u/241255/blog/690737