欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 运维知识 > 数据库 >内容正文

数据库

mysql opti-凯发k8官方网

发布时间:2024/10/14 数据库 20 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 mysql opti_mysql基础操作 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

查看帮助:? 关键词 如 ? trigger

一、mysql常用基础操作

1、mysql表复制

1) create table t2 like t1;   --复制表结构,t2与t1表结构一致

2) insert into t2 select * from t1;   --复制数据,建议指明字段

2、mysql索引

1) alter table创建普通索引、unique索引和primary key索引(推荐)

① alter table table_name add index index_name(column_list)   --创建普通索引

② alter table table_name add unique(column_list)   --创建unique索引

③ alter table table_name add primary key(column_list);   --创建primart key索引

2) create index创建索引

① create index index_name on table_name(column_list);    --创建普通索引

② create unique index index_name on table_name(column_list);    --创建unique索引

3) drop index删除索引

drop index index_name on table_name;   --删除索引

4) alter table drop

① alter table table_name drop index index_name;   --删除普通索引

② alter table table_name drop primary key;   --删除primary key索引

注:① create不能创建主键索引,alter可以创建任意索引。

② show index from table_name;   --查看表的索引

3、mysql视图

1) 创建视图:create view view_name as 子查询

例:create view view v1 as select * from t1;

2) 删除视图:drop view view_name;

4、mysql内置函数

4.1、字符串函数

1) concat(string2[,...])    //连接字符串

2) lcase(string2)        //转换成小写

3) ucase(string2)        //转换成大写

4) length(string)        //计算字符串长度

5) ltrim(string2)        //去除前空格

6) rtrim(string2)      //去除后空格

7) repeat(string2,count)   //重复count次

8) replace(str,search_str,replace_str)    //在str中用replace_str替换search_str

9) substring(str,position[,length])     //从str的position开始,截取length个字符  注意序号从1开始

10) space(count)          //生成count个空格

4.2、数学函数

1) bin(decimal_number)     //十进制转二进制

2) ceiling(number2)       //向上取整

3) floor(number2)         //向下取整

4) max(col)           //取最大值,聚合时使用

5) min(col)        //取最小值,聚合时使用

6) sqrt(number2)      //开平方

7) rand()         //返回0~1内随机数

例:① select * from t1 order by rand();     --表t1的查询结果随机进行排序

② select * from stu order by rand() limit 3;  --随机取出3条记录

4.3、日期函数

1) curdate()         //返回当前日期

2) curtime()     //返回当前时间

3) now()       //返回当前日期和时间

4) unix_timesramp(date)  //返回当前date的unix时间戳

5) from_unixtime(int)    //返回unix时间戳的日期值

6) week(date)         //返回date为一年中的第几周

7) year(date)     //返回日期date的年份

8) datediff(expr,expr2)   //返回起始时间和结束时间之间的天数,结果为expr比expr2晚的天数

5、mysql预处理语句

例:a、mysql>prepare stmt1 from "select * from t1 where id>?";    --设置stmt1预处理,传递一个数据作为一个where的判断条件

b、mysql>set @i=3;   --设置一个变量

c、mysql>execute stmt1 using @i;    --执行预处理stmt1,使用变量@i

d、mysql>drop prepare stmt1;    --删除预处理stmt1

6、mysql事务处理

例:a、mysql>set autocommit=0;   --关闭事务的自动提交

b、mysql>delete from t1 where id>5;    --执行一些操作

c、mysql>rollback;      --事务回滚,回滚

d、mysql>commit;    --事务提交

e、savepoint p1;   --设置还原点p1,保存当前的数据库状态

f、rollback to p1;    --还原到还原点p1时的状态

注:1) 常见的只有innodb引擎支持事务。( ①查看表引擎:show create table t1; ②修改表引擎:alter table t1 engine=innodb; )

2) 查看autocommit值:select @@autocommit;

7、mysql存储

1) 新建存储过程

create procedure procedure_name()

begin

....//处理语句

end

2) 调用存储过程 call procedure_name

3) 查看数据库中所有的存储过程 show procedure status;

4) 查看存储过程详细信息 show create procedure procedure_name;

例:\d //        --修改输入结束符为// 默认为;  \d 是 delimiter的简写

create procedure p1()

begin

set @i=1;

while @i<=100 do

insert into t1(name) values(concat("user",@i));

set @i=@i 1;

end while;

`   end//

\d ;    --创建存储过程后,修改输入结束符为;

8、mysql触发器

1) 创建触发器 格式

create trigger [before|after] [inser|update|detele] on for each row

2) 查看触发器

show triggers;

3) 删除触发器

drop trigger trigger_name;

例:1)创建一个触发器,向t1插入数据时,同时向t2插入数据

\d //

create trigger tg1 before insert on t1 for each row

begin

insert into t2(name) values(new.name);

end//

2)修改t1数据,同时修改t2数据

\d //

create trigger tg2 before update on t1 for each row

begin

update t2 set name=new.name where name=old.name;

end//

9、重排auto_increment值

1) 使用truncate清空表时,auto_increment会自动还原为1

2) 使用alter手动重置auto_increment。格式:alter table tablename auto_increment=1;

10、正则表达式

例:1) select name,email from t where email regexp "@126.com$"

11、mysql中help的使用

1) ? create   --查看create语句的帮助信息

2) ? opti%   --匹配optimize

3) ? contents;   --查询所有的帮助信息

12、查看技巧,\g行列转换

show create table t1\g;

总结

以上是凯发k8官方网为你收集整理的mysql opti_mysql基础操作的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图