1.安装MySQL
2.配置环境变量
3.开启服务
以管理员身份打开dos命令窗口,输入net stop mysql关闭服务,输入net start mysql开启服务
4.MySQL服务端的登录和退出
在你想登录时,必须保证MySQL开启了服务
使用root用户,密码为你在安装时设置的密码
使用命令行 win+r 输入cmd
登录
输入mysql -h localhost -P3306 -u root -p回车
输入密码
退出输入exit
5.MySQL的常见命令
5.1查看MySQL所有的数据库
show databases;
5.2打开sys数据库
use sys ;
5.3查看mysql这个数据库中有哪些表
show table from mysql;
5.4查看你现在在哪个数据库中
select database();
5.5创建表
CREATE TABLE t1(
id int not null,
name char(20)
);
5.6查看表的属性
desc 表名
5.7查看表中的数据
select * from 表明
5.8查看数据库版本
select version();
或者exit退出mysql
输入dos命令 mysql --version
或者mysql -V
6.MySQL的语法规范
1.不区分大小写,但建议关键字大写
2.每条命令以分好结尾
3.每条命令根据需要可以缩进换行
4.单行注释
#注释内容
--空格注释内容
多行注释
/**
*/
7.DQL
基础查询
条件查询
排序查询
常见函数
分组函数
连接查询
子查询
分页查询
union联合查询
8.DML
插入语句、删除语句、修改语句
9.DDL
库和表的管理
常见数据类型
常见约束
10.TCL
事务和事务处理
SELECT * FROM t1
INSERT INTO t1 VALUES(1,'aa');
INSERT INTO t1 VALUES(2,'bb');
INSERT INTO t1 VALUES(3,'cc');
INSERT INTO t1 VALUES(4,'dd');
INSERT INTO t1 VALUES(5,'ee');
#查询表达式
SELECT 100*2;
#查询常量值
SELECT 100;
#查询函数
SELECT VERSION();
#起别名 as可以省略 别名不能有特殊符号,可用单引号引起来
SELECT 100%5 AS 结果;
SELECT id AS 编号,NAME AS 名字 FROM t1;
#去重
SELECT DISTINCT * FROM t1
#+号的作用
/**
运算符
select 100+90;
select 100+'90';190
select 100+'join';100
select null只要+一方为null,结果为null
做拼接
concat()函数
*/
SELECT CONCAT(id+NAME) AS 整体 FROM t1
#简单条件运算符 < >= != <> >= <=
#按逻辑表达式筛选 && || ! and or not
#模糊查询
/**
like
between and
in is null
*/
#分页查询
/**
select 查询列表
from 表
join on连表
where筛选条件
group by分子字段
having分组后排序
order by 排序字段或其他表达式
limit offset,size
offset要显示的起始索引,从0开始
size 要显示的个数
*/
#查询前五条员工信息
SELECT * FROM t1 LIMIT 0,5;
#查询第11条到25条
SELECT *FROM t1 10,15;
#数据定义语言
/**
库和表的管理
创建、修改、删除
create alter drop
库的管理
语法:create database 库名
*/
#如果test1不存在就创建,存在就不创建也不报错
CREATE DATABASE IF NOT EXISTS test1
#标识列 自增长列
/**
创建表时,设置标识列AUTO_INCREMENT
默认起始值为1
每次增长为1
mysql不支持修改起始值,可以先手动插入一个值
可以修改步长
1.标识列必须和一个key搭配
2.一个表只有一列是标识列
3.标识列的数据类型只能是数值型
4.标识列可以设置步长
set AUTO_INCREMENT_aa =3
TCL语言
事物控制语言
事务:一个或者一组sql语句组成一个执行单元,这个执行单元要么全部执行成功,只要有一条执行失败,则全部回滚
存储引擎(表类型)
每一个数据库服务器用了不同的存储引擎
查看mysql中支持的存储引擎
不是所有的存储引擎都支持事务
*/
SHOW ENGINES
#事务的创建
#隐式的事务,没有明显的开始和结束的标志
#显示的事务
/**
先设置自动提交功能为禁用
SET autocommit =0;
start transaction;
语句1;
语句2;
。。。
commit;提交事务
rollback;回滚事务
*/
11.视图
12.存储过程和函数
13.流程和控制结构
14MySQL和Oracle的区别
mysql是轻量型数据库,免费,没有服务恢复数据
Oracle是重量型数据库,收费,且Oracle公司提供任何服务
- 对事务的提交:mysql默认自动提交,Oracle默认手动提交,需要commit
- 分页查询:mysql使用limit x, y 。Oracle使用伪列rownum和嵌套查询
- 隔离级别:mysql读已提交,Oracle可重复读
- 对事务的支持:mysql在innodb存储引擎下支持事务。Oracle完全支持事务
- 自增长序列:mysql有自动增长的数据类型,oracle需要创建序列