1、理解数据库的最好的方法是把数据表想象为一个网格
============================1查==================1============================================
显示信息的查看
a show databases;
show tables;|desc 表名
show columns from customers;
show status;服务器状态 show create database 用来显示创造特定数据库
show grants 用来显示授权用户安全权限 show errors 和 show warnings用来显示服务器错误
select * from products; (distinct 只返回不同的值)
select distinct *
from 表名
where ....查询条件
group by ... having ... //新分组字段名
order by ... //排列列名
limit star,count //过滤行数
执行顺序为:
连接concat //串联字符select concat(vend_name,'(',vinde,')') as vend_title
函数 //文本处理upper等 //时间函数 //数值处理 //计算函数,平均值,总和
from 表名
where ....//条件语句:子句操作符,id<=10;between 5 and 10 范围的匹配(and,or,in,not);
通配符like:where prod_name like 'jet%',下划线的的单字符
正则表达式regexp:regexp不使用通配符也能匹配or,and,|
group by ...having ... //创建分组,过滤分组,分组排序
select distinct *
having ...
order by ... //多个排序,desc关键降序排序
limit star,count (limit 不少于)limit 3,4从行3的取4行相当于 limit 4 offset 3
实际使用中,只是语句中某些部分的组合,而不是全部
子查询 将一个查询单独拿出
组合查询union 多个sql语句查询
全文检索 select from where match(指定搜索的列) against()
=====================增==================================
1创建库,表
create database 数据库名
使用数据库:use database
create 主键 外键的使用 auto——increment自动增量
create table 表名(
字段1 数据类型 属性
字段n 数据类型 属性
)表类型 注释:
2插入数据 insert into 表名(字段名) values(值);
3
1连结是利用sql的select能执行的最重要的操作
2理解关系表的最好方式是来看一个现实世界中的例子
3创建连接a先将需要的列出来b外键进行连接
4内连接,左连接,右连接,(自然连接,自连接,外连接)
子查询 select from 表名 where not exists(子查询)
内连接 selsct 字段名 from 表名 as inner join result as on (条件)
外连接 selsct 字段名 from 表名 as left |right join result as on (条件)
4理解视图最好看例子:简化操作,
create view vendorlocations as 子查询语句
检测操作是否可行
创建视图:create view studeng _result;
删除视图:drop view 视图名;
查看视图:select 字段名 from view_name,查看视图
5创建存储过程call create drop
6创建游标 open cursor
7创建触发器 trigger
8创建索引index
创建索引 create index 索引名;
删除索引:droP index 索引名;
查看索引:show index from 索引名;
==========================改=====================
1 update 更新表名 列名新值 过滤条件
update 表名 set 列名 =更新值(where 更新条件)
2alter 数据的更新
修改表:alter table 旧表名 return to 新表名
添加字段:alter table 表名 add 字段名 数据类型属性
修改字段:alter table 表名 change 原字段名 新字段名 数据类型数进行
删除字段:alter table 表名 drop 字段名
添加主键:alter 表名 add constaint 主键名 primary key表名
添加外键:alter 表名 add constraint 外键名 foreign key (外键字段) references 关联表名
============================删=====================
delete 删除整行
update 指定删除列
drop 删除表
rename 更改名字
drop database 数据库名
drop table 表名
delete from 表名 where 删除字段
===========================事务===========================
rollback
commit
savepoint
begin 开始事务
.....
....
commit提交事务 rollback 回滚事务
======================安全管理===============================
1创建账号授权
2数据库备份
备份 mysqldump -u账号名 -h主机 -p密码 dbname数据库[数据库[数据表]]>name.sql
回复 mysql -u账号 -p密码<name.sql
数据导出
数据库的导入mysql>source 数据库名
3数据库集群
1主从 与读写分离
2herarout+drbd
3mmm
4mha
5
6
4操作默认引擎 show variables like 'storage_engine%' defalut storage -engine=innodb //也可以在实际中指定引擎