1.概述
MySql数据库从6版本开始收费, 已5版本为例, 安装不在此描述, 本文主要介绍mysql的语法和举例,帮助大家快速熟悉了解;
2 语法
2.1 数据库操作
//创建数据库
CREATE DATABASE test01
//进入数据库
USE test01
//显示所有数据库
SHOW DATABASES
//删除test01的数据库
DROP DATABASE test01
2.2 表结构操作
2.2.1 创建一个表
table01为表名, 括号内为表的列名 和对应的类型;
CREATE TABLE table01(
cid INT(8),
cname VARCHAR(32),
age INT(8)
);
2.2.2 查看表结构
SHOW TABLES //查看所有的表名字
DESC table01 //查看table01表的表结构
2.2.3 修改表结构
修改表结构 注意alter table 命令 三个关键字modify change drop, 修改列的参数用moidfy, 修改列的名字用change,删除列用drop,添加字段用ADD;
(1) 修改表结构, 将列名cid设置约束为主键,主键不能未null,不能重复 modify
ALTER TABLE table01 MODIFY cid
INT(4) PRIMARY KEY;
(2) 修改表结构, 将旧列名修改为新列名 change
ALTER TABLE table01 CHANGE age new_age INT(8);
(3) 修改表删除列 drop
ALTER TABLE table01 DROP new_age
(4) 添加字段 ADD
ALTER TABLE table01 ADD desc
VARCHAR(20)
2.3 表数据操作
2.3.1 添加数据
单个添加
INSERT INTO table01 (cid,cname,desc
) VALUES(1,“张三”,“北京人”);
批量添加
INSERT INTO table01 (cid,cname,desc
) VALUES(2,“李四”,“吉林”),(3,“王五”,“辽宁”);
2.3.2 更新数据
更新表数据(update SET , 可以根据条件更新对应的键值)
//将table01表中cid为2的cname改名为貂蝉.
UPDATE table01 SET cname=“貂蝉” WHERE cid=2
删除表数据(删除表table01中cid=3的整行数据)
DELETE FROM table01 WHERE cid=3
2.3.3 约束
约束包含: 主键约束PRIMARY KEY(一个表只能一个主键) , 唯一约束UNIQUE,
NOT NULL 非空约束, 默认约束 DEFAULT;
这些约束可以直接在创建表时, 字段后增加,如:
address varchar(32) DEFAULT ‘北京’
id INT(10) PRIMARY KEY
也可以在表格最后约束区域配置
CREATE TABLE table01(
id INT,
cname VARCHAR(32),
UNIQUE (id) //将id设置为唯一约束
)
也可以在创建完表以后使用alter table语句
ALTER TABLE table01 ADD PRIMARY KEY (id) //将id设置为table01表的主键
2.3.4 自增长列
id INT(10) AUTO_INCREMENT=10 //将id设置为自增长列,从10开始自动增长,这样添加数据时就不需要输入id字段了.
2.4 查询语句
2.4.1 简单查询
SELECT * FROM emp
2.4.2 条件查询
//查询表dept中id=1的所有数据
SELECT * FROM dept WHERE id=1
//%代表0个或多个任意字符,_代表一个字符
SELECT * FROM emp WHERE NAME LIKE ‘%仔%’
2.4.3 排序查询
DESC为降序,ASC为升序,默认按升序查询, 表emp按id字段降序查询
SELECT * FROM emp ORDER BY id DESC
2.4.4 聚合查询
聚合查询 有5个聚合函数 (count,sum,max,min,avg)
SELECT COUNT(id) FROM emp //统计表emp中id的数量;
SELECT AVG(id) FROM emp //统计表emp中id的平均值
2.4.5 分组查询
//分组查询, having 先分组后判断条件, where 先查看条件后分组,
将emp表中id>3的所有数据分为一组
SELECT * FROM emp GROUP BY id HAVING id>3
2.4.6 分页查询
//分页查询, limit是mysql内置函数, 0 表示第一条的索引, 5表示查询几条, 意思是从0索引开始查询5条数据;
SELECT * FROM emp LIMIT 0,5
//(当前页-1)*每页显示条数=(1-1)*5=0 为起始索引值;
分页查询经常用在网站显示页面中;
2.4.7 MySQL查询语句书写和执行顺序
(1) 书写sql语句时各关键字的顺序:
select>from>where>group by>having>order by
(2) 执行顺序:
from>where>group by>having>select>order by