数据库知识整理(1)
来源:互联网 发布:流程优化岗面试题目 编辑:程序博客网 时间:2024/06/09 22:44
MySQL 基础操作
1.1表复制
1.2索引
1.3视图
1.4内置函数
1.5预处理语句
1.6事务处理
1.7存储
1.8触发器
1.9重排auto_increment值
1.1表复制
mysql>create table t2 like t1;
mysql>desc t1;
mysql>desc t2;
表数据复制(!!!)
mysql>insert into t2 select * from t1;
1.2索引
索引分类:主键索引, 唯一索引,普通索引
mysql>? index
Create 方法mysql> create index index_name on table_name(column_name);
mysql>show index from table_name;
mysql>drop index_name from table_name;mysql>create unique index unique_index on table_name(column_name);
drop index_name on table_name;
ALTER 方法
mysql>ALTER table table_name ADD index index_name(column_name)
mysql>ALTER table table_name drop index index_name;
mysql>ALTER table table_name ADD UNIQUE(column_name)
ALTER table table_name drop index column_name
mysql>ALTER table table_name ADD primary key(column_name)
mysql>ALTER table table_name DROP primary key;
1.3视图
mysql> ? View
ALTER VIEW
CREATE VIEW
DROP VIEW
mysql>CREATE VIEW v_table AS select * FROM table_name WHERE id>10000 and id<20000;mysql>Show tables;
mysql>drop view v_table;
被依赖的表被修改,使用view也会有相应的改变。1.4内置函数
CONCAT :连接字符串参数
LCASE:字符小写化
UCASE:字符大写化
LENGTH:字符长度
LTRIM:去除左侧空格
RTRIM:去除右侧空格
REPEAT:重复
REPLACE:取代
SUBSTR:剪切文字
SPACE:重复的空格BIN:转化为二进制数
CEILING:向上取整
FLOOR:向下取整
MAX:取最大值
MIN:取最小值
ROUND:四舍五入取整CURDATE:当前日期
CURTIME:当前时间(不包括日期)
NOW:当前时间(包括日期)
UNIX_TIMESTAMP 时间差(单位毫秒)
WEEK:当前星期(一年的第几个星期)
YEAR:当前年
DATEDIFF:日期差1.5预处理语句
mysql>? Prepare
mysql>prepare stmt1 from “select * from t1 where id>?”;
mysql>set @i=1;
mysql>execute stmt1 using @i;
mysql>drop prepare stmt1;简单来说,预处理语句使用更少的资源,执行速度也就更快。查询只需要被解析(或准备)一次,但可以使用相同或不同的参数执行多次。当查询准备好(Prepared)之后,数据库就会分析,编译并优化它要执行查询的计划。对于复杂查询来说,如果你要重复执行许多次有不同参数的但结构相同的查询,这个过程会占用大量的时间,使得你的应用变慢。通过使用一个预处理语句你就可以避免重复分析、编译、优化的环节。
1.6事务处理
mysql>SET autocommit=0;
mysql>……
mysql>ROLLBACK;
没有执行COMMIT, 都可以回滚(退回上一状态)mysql>savepoint point1;
mysql>rollback to point1;在sql操作过程中设置锚点,可以回退到锚点时的状态
1.7存储
mysql>\d //
create procedure p()
begin
set @i=1;
while @i<10 do
Insert into table1 (user) values(concate(“user”,@i) ;
set @i=@i+1;
end while;
end //
mysql>show procedure status;//
mysql>\d ;
mysql>show create procedure p;
执行:
Mysql> call p();1.8触发器
mysql>\d //
create tg1 before insert on t1 for each row
begin
insert into t2(id) values(new.id)
end//
mysql>show triggers;
delete & update?1.9重排auto_increment值
Mysql> delete from table_name;
mysql>alter table table_name auto_incement=1;
mysql>truncate table_name;
- 数据库知识整理(1)
- 数据库知识整理1
- 数据库知识整理(一)
- 数据库知识整理
- 数据库相关知识整理
- 数据库知识整理
- 数据库知识整理
- 数据库知识整理总结
- 数据库Oracle知识整理
- 数据库相关知识整理
- 数据库知识整理Oracle
- 数据库知识整理PLSQL
- oracle数据库知识整理
- Oracle数据库知识整理
- Oracle数据库知识整理
- DB2数据库知识整理
- MySQL数据库知识整理
- Oracle数据库知识整理
- HTTP请求和响应格式
- Python之Tuple
- C#的集合类型
- vs2010 命令行编译C/C++程序
- pygame——入门1
- 数据库知识整理(1)
- Python标准库os模块
- 理解一致性哈希算法(consistent hashing)
- 自己动手学TCP/IP–http协议(http报文格式)
- HTTP协议及其请求头分析
- js判断输入日期时间是否在当前日期时间之前
- struts环境搭建
- 【php】验证表单 邮箱
- 1. PermCheck Check whether array A is a permutation.