mySQL配置



2015年01月30日    Author:Guofei

文章归类: 0x11_算法平台    文章编号: 173

版权声明:本文作者是郭飞。转载随意,标明原文链接即可。本人邮箱
原文链接:https://www.guofei.site/2015/01/30/mySQL.html


登录到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/


您的支持将鼓励我继续创作!