删除表中数据
truncate 表明 它会清空自增的id值
alter table 表明 auto_increment= 1;
查看字符集 \s
复制表结构和数据
create table t3 like t1;
//新建表
create table a(
id int unsigned not null auto_increment primary key,
name varchar(3)
);
//查看表
show tables;
//查看表结构
desc 表名字;
//查询索引
show index from 表名;
//增加索引
alter table t1 add unique(name);在name字段添加一个唯一索引unique 名字默认为name
alter table t1 add index in_name(name); 给t1表中的name列添加 名字为in_name的索引(index 普通索引
//删除索引
alter table t1 drop index in_name;删除t1表中名字为in_name的索引
alter table t1 drop index name;删除t1表中名字为name的索引
自增的一列不能删除 主键
alter table t1 modify id int unsigned nut null ;重新修改id的属性
//删除主键
alter table t1 drop primary key;
//视图
create view v_t1 as select * from t1 where id>4 and id<10;
//查看视图
show tables;
select * from v_t1;
//视图和数据表一样用 where之类的条件也行的
//删除视图
drop view v_t1;
//mysql预处理语句
prepare 名字 from 'select * from t1 where id >?';
执行 名字 得处理 execute 名字 using @i;
设置i set @i=5;
删除预处理
drop prepare 名字;
//触发器
创建 名为 名字的触发器 在t1 表执行插入之前触发
用\d // 把定界符 ; 改为//
create trigger 名字 beform insert on t1 for each row
-->begin
-->insert into t2(name) valeus(new.name);
-->end //
当执行t1的插入式 t2 页执行
rand()0 到1的随机函数
只有innodb支持外键
优化sql语句
show status 可以查询很多的东西
一般 查询已com开头的
show status like"com%";
///
show status like"com_insert%";
show status like"com_select%";
show status like"com_update%";
show status like"com_delete%";
以上会显示一共增删改查 多少 (是这次登录的);
show global status like"com_insert%";
show global status like"com_select%";
这是表示服务器从开启到现在一共的
这是innodb 受影响的行数
show status like"connections%"; 连接mysql的数量
show status like"Uptime%";服务器工作的时间 秒
show status like"slow_querier%";慢查询的次数
//查看慢查询是否开启
show variables like"%slow%";
log_slow_queries | OFF
//开启慢查询
set global slow_query_log = ON;
show variables like "%long%"; 慢查询默认的时间
在服务器中就要修改my.cnf这个文件
log_slow_queries = slog.log //慢查询文件名字long_query_time = 1;//时间
//查看索引使用情况
show status like"%Handler_read%";
优化表的语句
check table 表明;来检查表是否有错误
优化表空间
optimize table t1;优化表空间
优化group by 之后 会有一个升序排序.
desc select * from t2 group by null 就可以关掉排序
如果写的不对请说一下.因为我也是菜鸟一个...^-^