数据挖掘-mysql

mysql的常用命令
库的操作 创建数据库:

create database newsdb;

删除数据库:
drop database newsdb;

表的操作 创建一张表:
create table `news` ( `id` bigint(20) unsigned NOT NULL auto_increment, `title` varchar(100) NOT NULL, `username` varchar(20) NOT NULL, `content` text, `submitTime` datetime default NULL, `viewCount` int(10) unsigned default NULL, `catalogs` varchar(20) default NULL, `attachment` varchar(100) default NULL, PRIMARY KEY(`id`));

改变表列的格式
alter table news modify id integer not null, change title varchar(200);

查看表的样式
desc news;

【数据挖掘-mysql】删除表:
drop table news;

数据的操作,增删改查 增加数据
insert into `news` (`id`,`title`,`username`,`content`,`submittime`,`viewcount`,`catalogs`,`attachment`) values (1,'新闻标题','张三','新闻内容','2009-12-14 00:00:00',1,'5','null');

删除数据
delete from news where id=1;

改数据
update table news set title = “新的标题” ;

查数据 单表查询
select*from 表名 [where 条件]; eg:select*from students; //查询 students 表中所有记录,所有字段的值都显示出来select field1,field2,...fieldn... from 表名 [where 条件]; eg:select id,name,age from students; //查询 students 表中所有记录, 只显示出 id,name,age三个字段的值去重 select distinct 字段 from 表名; eg: select distinct name from students; //查询名字不相同的学生; select distinct name,age from students; //查询名字和年龄同时不同的学生1.distinct必须放在最开头 2.distinct只能使用需要去重的字段进行操作。----也就是说我sidtinct了name,age两个字段,我后面想根据id进行排序,是不可以的,因为只能name,age两个字段进行操作. 3.distinct去重多个字段时,含义是:几个字段 同时重复 时才会被 过滤。where的使用方式 select 字段 from 表名 where 条件; eg:select * from student where sex='男' and age>20; //查询性别是男,并且年龄大于20岁的人。where后面的条件可以用>、<、>=、<=、!=等多种比较运算符,多个条件之间可以用or、and等逻辑运算符排序和限制 select * from 表名 [where 条件] [ order byfield1 [desc/asc],field2 [desc/asc]... ] limit 5; eg:select *from student order by age desc limit 5; //查询学生表并按年龄降序排列。1.desc 降序排列,asc 升序排列 2.order by 后面可以跟多个不同的排序字段,每个排序字段都可以有不同的排序顺序。 3.如果排序字段的值一样,则相同的字段按照第二个排序字段进行排序。 4.如果只有一个排序字段,则字段相同的记录将会无序排列。select 字段 fun_name from 表名 [where 条件] [group by field1,field2...] [with rollup] [having 条件]; eg:1.fun_name 表示要做的聚合操作,也就是说聚合函数,常用的有 : sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。 2.group by关键字 表示要进行分类聚合的字段。比如要按照部门分类统计员工数量,部门就应该写在group by 后面。 3.having 关键字表示对分类后的结果再进行条件过滤。

多表查询
内连接:匹配两张表匹配到的东西 select staff.name,deptname from staff left join deptno on staff.name=deptno.name; 外连接:会以左表为标准,匹配不到,左表也会留下 select staff.name,deptname from staff left join deptno on staff.name=deptno.name;

视图操作 是一张虚拟表,依赖查询结果,查询表的数据改变,视图数据改变
create view data as select....

事务操作 事务属性:
原子性(A):事务是最小单位,不可再分
一致性(C):事务要求所有的DML语句操作的时候,必须保证同时成功或者同时失败
隔离性(I):事务A和事务B之间具有隔离性
持久性(D):是事务的保证,事务终结的标志(内存的数据持久到硬盘文件中)
开启事务:Start Transaction
事务结束:End Transaction
提交事务:Commit Transaction
回滚事务:Rollback Transaction

    推荐阅读