连接mysql
mysql -h 连接主机的地址-u 用户名-p 密码
退出mysql
exit
quit
查看库
show databases;
创建库
create database 库名;
删除库
drop database 库名;
选择库
use 库名;
查看表
show tables;
创建表
create table 表名(
列名 类型,
列名 类型,
列名 类型
);
改表名
rename table 旧表名to 新表名;
删除表
drop table 表名;
查看描述表的结构
desc 表名;
表中增加行
insert into 表名
(列名1,列名2,列名3)
values
(数据1,数据2,数据3);
设置窗口编码
set names GBK;
查找表下的所有数据
select * from 表名;
查找表下指定的列
select 列名1,列名2,列名3 from 表名;
查找表的特定数据
select 列名1,列名2,列名3 from 表名 where 条件语句;
修改表下的某行的某些数据
update 表名
set
列名 = 修改后的数据,
列名 = 修改后的数据,
列名 = 修改后的数据,
where条件语句;
删除表下的某行
delete from 表名
where
条件语句;
各数据类型
正数类型
tinyint、smallint、mediumint、int、bigint
小数类型
float、double、decimal
字符类型
char、varchar、text
时间日期类型
year、date、time、datetime
查询的五种语法where、group by、having、order by、limit
三种子查询where、from、exists
合并查询union
左连接left join、右连接right join、内连接inner join
列的增加
alter table 表名 add 新增的列名 数据类型;
列的删除
alter table 表名 drop 要删除的列名;
列的修改
alter table 表名 change 要修改的列名 修改后的列名 数据类型;
视图view
用法类似于表,但是不是真实的数据,是虚拟的数据
修改结束符
delimiter 结束符
创建触发器
create trigger 触发器名
after insert on buy
for each row
begin
update sell set sum = sum - new.sum where animal = new.animal;(这一行是sql语句)
end$(这个$是结束符)
删除触发器
create trigger 触发器名
after delete on buy
for each row
begin
update sell set sum = sum + old.sum where animal = old.animal;(这一行是sql语句)
end$
查看触发器
show triggers;
数据的备份
导出表
mysqldump -u用户名-p密码 库名 表1 表2>地址/备份文件名称
导出库下所有表
mysqldump -u用户名-p密码 库名>地址/备份文件名称
导出库
mysqldump -u用户名-p密码 -B 库名1 库名2>地址/备份文件名称
导出所有库
mysqldump -u用户名-p密码 -A>地址/备份文件名称
数据的恢复
恢复库
1、不登录
mysql -u用户名-p密码 <地址/恢复文件名称
2、登录
source 地址/恢复文件名称;
恢复表
1、不登录
mysql -u用户名 -p密码 库名<地址/恢复文件名称
2、登录
use 库名;
source 地址/恢复文件名称;
存储引擎myisam、innodb
myisam不支持事务,优势是访问速度快。
innodb支持事务,但是访问速度相对慢。
事务的开启与提交
start transaction;(开始事务)
commit;(结束事务)
start transaction;(开始事务)
rollback;(事务结束回滚)
普通索引index
主键索引primary key
唯一索引unique index
全文索引fulltext index
存储过程
创建一个存储
create procedure function1() begin
select * from buy;
end$(这里的function1是存储名,没有参数,select * from buy;是sql语句,$是修改的结束符)