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登录
}