mysql 常用的查询语句

1.连接数据库代码:
>mysql -h 主机的ip地址 -u 登入数据库用户名 -p 登入密码

2.显示数据库
>show databases;

3.连接数据库
>use dbname;

4.显示当前连接的数据库
>select database();

5.显示表结构
>desc tablename


操作表:
    1.修改表名
    >alter table table_old rename table_new;

    2.删除表
    >drop table tabelname;

    3.导入数据库
    >source 文件全路径

    4.修改字段长度
    >alter table table_name modify column_name varchar(50) ;
        4.1.修改字段名称
    >alter table keyword_info change enabled cate_num varchar(50);
        4.2.新增表字段名称
    >alter table keyword_info add enabled varchar(50)

    5.修改字段类型
    >alter table talbe_name modify column_name int(12);

    6.查询建表语句
    >show create table table_name;

    7.查询字段去重和统计不重复字段
    >select distinct(column_name) from table_name;
    >select count(DISTINCT column_name) from table_name

    8.删除表字段内容
    >delete from tablename where  column_name in ('xx','xx','xx');
    >delete from keyword_info where keyword in('设计师款','秋冬新品','潮牌','春新品','性感诱惑','甜美清新','简约优雅','奢华高贵');

    9.查询重复字段
    >select column_name,count(1) as count from user_table group by column_name having count>1; 

    10.删除完全重复字段(如果有10000条重复数据我不是要手动执行10000次,通过函数实现循环)
    >DELETE from keyword_info WHERE keyword in (select keyword from (select keyword,count(1) as count from keyword_info GROUP BY keyword HAVING count>1) as b) LIMIT 1

    11.更新表字段内容
    >update table_name SET column_name=新值 WHERE column_name=老值

    12.查询表插入新表
    >INSERT INTO talbe1 (cloumn1)  SELECT cloum1_like FROM table2 LIMIT 1;
    >INSERT INTO keywords_search_info (nick)  SELECT shop_name FROM search LIMIT 1;

    13.给已有表增加主键
        1.字段必须不为空
    >alter table mytable_1 alter column name char(1) not null
        2.删除原来主键
    >alter table mytable_1 drop constraint PK_mytable_1(主键名字)
        3.添加新主键
    >alter table mytable_1 add constraint PK_mytable_1 primary key(id,name)
        4.例子
    >alter table keyword_info add constraint keyword primary key(keyword);

    14.多表关联(on 后面紧跟主表字段)
    >select distinct i.shopid from (item i left join task_info t on i.shopid=t.shop_id) left join shop s on i.shopid=s.shop_id where t.type='tmall' limit 10,5;

高级函数:
    1.取整
    >round(x,d)

    2.求平均
    >avg(x)
进程:
    1.查看运行线程(根据用户的权限输出)
    >show processlist
    
    2.开启查询事件探查器
    >set profiling=1(开启,退出mysql自动关闭)
    >show tables(示例:一条查询语句)
    >show profiles (会显示这条query的查询时间)
    >show profile cpu,block io for query 1; (query 后面跟的是事件查探的id)

一个简单的存储过程:

//创建一个存储过程
CREATE PROCEDURE p14()

BEGIN    
  DECLARE v INT;    
  SET v = 0;    
  WHILE v < 30 DO    
    DELETE from keyword_info WHERE keyword in (select keyword from (select keyword,count(1) as count from keyword_info GROUP BY keyword HAVING count>1) as b) LIMIT 1;  
    SET v = v + 1;    
  END WHILE;    
END;


CALL p14();//执行这个存储过程

drop procedure if exists p4//删除存储过程


10.10{
忘记mysql root 密码解决方法

    1.打开mysql配置文件my.ini
    
    2.找到[mysqld] 在下面加入一行
        skip-grant-tables (意思是跳过登入授权表,任何人都可以登录,保证安全的情况下)
    
    3.在cmd输入mysql
    >use mysql
    >UPDATE user SET authentication_string = PASSWORD('root') WHERE User = 'root';

    4.注释掉第二步的代码

    5.重新启动mysql 在cmd
        net stop mysql57
        net start mysql57

    6.使用用户root,密码root登录
}

 

posted @ 2016-10-06 07:21  恰似少年  阅读(303)  评论(0编辑  收藏  举报