mysql 基础操作

来源:互联网 发布:php empty 0 编辑:程序博客网 时间:2024/06/16 21:17

1    mysql 表复制  复制结构 + 数据

          把表t1 内容复制到 t2 

          方式1 : insert into t2 select * from t1 

                       缺点:只复制了数据, 并且错误

          方式2:create table t2 like t1;  (复制结构)    insert into t2 select * from t1 (复制数据)

                     拷贝一部分:   insert into t2 select  列名  from t1

2   mysql 索引  

          创建,删除索引

                    方式1  create 创建普通,unique 索引(列值不能重复), drop 删除

                                CREATE INDEX 索引名 ON 表名(列名);         DROP INDEX 索引名 ON 表名;

                                 CREATE UNIQUE  INDEX 索引名 ON 表名(列名);         DROP INDEX 索引名 ON 表名;

                    缺点:不能创建主索引

                    方式2:alter  table  创建普通索引, unique索引     primary key 索引(只能有一个)

                                ALTER TABLE 表名 ADD INDEX 索引名(列名);        ALTER TABLE 表名 DROP INDEX 索引名;

                                ALTER TABLE 表名 ADD UNIQUE INDEX 索引名(列名);        ALTER TABLE 表名 DROP INDEX 索引名;

                                ALTER TABLE 表名 ADD PRIMARY KEY(列名);     ALTER TABLE 表名 DROP PRIMARY KEY;(先删除列的自增属性,有自增属性的默认主键)

         查看索引      show  index  from 表名

3 mysql 视图

              视图是原表的一个映射,如果原表变,视图会根据创建视图的条件变化, 而复制表不会变

              创建视图   create view 视图名 as select * from 表名 where 条件

              查看视图  show  tables

              删除视图  drop view 视图名

 4 mysql 预处理语句          不用每次请求数据库连接

            创建       PREPARE 语句名 FROM  ‘语句’';                PREPARE stm FROM 'select * from t1 where id=?';

            创建变量   SET @变量名 = 值;          SET @i = 1;

            执行       EXECUTE 语句名 USING @变量名;                        EXECUTE stm USING @i;

            删除       DROP PREPARE 语句名;

5  mysql 事务处理

           关闭自动提交功能           SET autocommit=0;                有的存储引擎不支持事务,

           创建还原点   savepoint   还原点名

            回滚到还原点    rollback   to  还原点名

6 mysql 存储

           存储就是一个函数

           创建存储    create procedure 存储名()

            执行存储    call 存储名()

            查看存储信息        SHOW PROCEDURE STATUS;

             查看存储具体信息    SHOW CREATE PROCEDURE 存储名;

 7 mysql 触发器

             查看触发器   show  triggers;

             更改t1时, t2也更改

            CREATE TRIGGER tg1 BEFORE UPDATE ON t1 FOR EACH ROW
            BEGIN
             UPDATE t2 SET NAME = new.name WHERE NAME = old.name;
             END

8 删除表

           方法1   delete from 表名

                   缺点:自动增长没有保留    需要 alter 表名 auto_increment = 1;

           方法2

                   truncate   table 表名  auto_increment  恢复为1

    

原创粉丝点击