登录到MySQL
mysql -h 主机名 -u 用户名 -p
- -h : 指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;
- -u : 用户名;
- -p : 密码, 如果密码为空, 可以忽略此选项。
修改 root 用户密码
mysqladmin -u root -p password 新密码
视图
1、创建视图
create view view_name
AS
select id,name
from table_name;
2、查询视图
select * from view_name;
3、删除视图
drop view view_name;
4、修改视图
alter view view_name as select 语句;
5、插入数据
insert into view_name (属性1,属性2) values (。。。)
6、更改数据
update view_name
set 属性1=值1
where ...
注:在插入和更改view的数据时,会连同table一起更改。
触发器(trigger)
1、创建触发器
create trigger trigger_name
BEFORE|AFTER trigger_EVENT
ON table_name for each row
TRIGGER_STMT
trigger_name 不能重复 BEFORE|AFTER 指定trigger在事件之前触发还是事件之后触发 trigger_EVENT表示触发执行条件,可以是delete, insert, update三个单词中的一个 table_name表示触发执行条件所在的表 TRIGGER_STMT表示一个语句,触发后就执行这个
2、执行语句为多条语句
create trigger trigger_name
BEFORE|AFTER trigger_EVENT
ON table_name for each row
BEGIN
trigger_stmt1
trigger_stmt2
END
因为执行语句要用分号结束,所以用delimiter$$语句
delimiter $$
create trigger trigger_name
BEFORE|AFTER trigger_EVENT
ON table_name for each row
BEGIN
trigger_stmt1;
trigger_stmt2;
END
$$
delimiter ;
3、显示触发器
show triggers
select * from triggers where trigger_name=`trigger_name`
4、删除触发器
drop trigger trigger_name
索引
1、创建表时创建索引
create table table_name(
属性名 数据类型
属性名 数据类型
...
属性名 数据类型
index [索引名](属性名1)
);
例子:
create table t_dept(
deptno int,
dname varchar(20),
loc varchar(40),
index index_deptno(deptno)
);
检验索引是否创建成功
show create table t_dept \G
检验索引是否被启用
explain
select * from t_dept where deptno=1;
2、已经存在的表中添加索引
create index 索引名
on 表名(属性名【(长度)】)【(ASC|DESC)】;
3、用alter
alter talbe table_name
ADD index 索引名(属性名【(长度)】【(ASC|DESC】);
4、以上index
可以更改为key
,效果相同
以上index可以更改为unique index,或者unique key,变成不允许重复的索引
5、以上index
可以更改为full text index|key
6、多列索引
末尾换成:
索引名(属性名1【(长度)】【(ASC|DESC】,属性名2,属性名3);
7、删除索引
drop index index_name on table_name;
参考文献
mySQL从入门到精通
https://wenku.baidu.com/view/f7f6e6dcd1f34693daef3e8b.html
http://www.w3school.com.cn/sql/