码迷,mamicode.com
首页 > 数据库 > 详细

MySQL常用操作(一)

时间:2017-09-12 19:48:01      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:编码   tin   mod   exist   pre   title   1.2   incr   count   

最近实习做智能问答系统,需要收集一些问答对,于是写了爬虫爬数据,将爬下来的存入MySQL数据库,中间碰到一些问题,这里集中总结一下,方便日后回顾。

数据库的简单操作无非就增删改查,本文按这个顺序总结一下工作中遇到的操作。

1、增

1.1 创建数据表

CREATE TABLE IF NOT EXISTS `qa_law66_content`(
   `id` INT UNSIGNED AUTO_INCREMENT,
   `title` VARCHAR(100) NOT NULL,
   `question` VARCHAR(2000) NOT NULL,
   `answer` VARCHAR(15000) NOT NULL,
   `cate` VARCHAR(20) NOT NULL,
   `source` VARCHAR(40) NOT NULL,
   PRIMARY KEY ( `id` )
 )ENGINE=InnoDB DEFAULT CHARSET=utf8;
qa_law66_links为表名,有单引号的都是表中的字段。UNSIGNED AUTO_INCREMENT表示自动增加属性,在往数据表中写数据时可以不写这个字段的内容,它会按数字顺序自动添加。字段名称后面跟着的是字段类型,比如 VARCHAR(15000)表示字符型类型,括号离的长度表示设置该字段能存储内容的长度,如果存储内容长度大于设置的字段长度,将引发错误信息。
所有字段如果都是VARCHAR类型,则它们的所有长度之和不能超过65533个字符。
NOT NULL表示该字段非空。
PRIMARY KEY ( `id` )表示将‘id’这个字段设置为主键,主键不能重复。
ENGINE=InnoDB 表示创建表的存储引擎,详细介绍参考这篇博客
DEFAULT CHARSET=utf8 表示数据表的默认编码格式,一般设置为utf8格式。

1.2 增加表的字段
alter table qa_law66_content add aid int;

在表qa_law66_content 中增加了‘aid’字段,设置它的类型为int类型。

2、改

2.1 修改表字段的长度

alter table qa_law66_content modify column title varchar(400);
alter table qa_law66_content modify column source varchar(100);
alter table qa_law66_content modify column question varchar(3500);

2.2 修改字段的类型

ALTER TABLE qa_law66_content CHANGE id id INT;

2.3 修改主键,修改字段的顺序

alter table qa_law66_content drop primary key;
alter table qa_law66_content modify aid int(10) unsigned auto_increment first,add primary key (aid);

要修改主键就要先将原来的主键删除主键属性,然后将另一个键设置为主键。

first 表示将该键设置为第一列。

2.4 修改字段的顺序

alter table 表名
change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)

 

alter table qa_law66_content
change id id int(11) 1 after aid;

 

 

3、删

3.1 删除整个表

DROP TABLE lawfact;

3.2 删除表里的所有数据


DELETE FROMlawfact;

3.3 按条件删除表里的数据

DELETE FROM qa_law66_content WHERE title="None";

 

4、查

4.1 查询表里的数据有多少

select count(*) from lawfact;

4.2 查询表里所有数据

select * from lawfact;

4.3 按条件查询

select * from lawfact where article = None;

4.5 查询表里某字段的不重复的值

SELECT DISTINCT(label) FROM lawfact;

 

MySQL常用操作(一)

标签:编码   tin   mod   exist   pre   title   1.2   incr   count   

原文地址:http://www.cnblogs.com/roadofstudy/p/7511699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!