zoukankan      html  css  js  c++  java
  • MySQL常用操作(一)

    最近实习做智能问答系统,需要收集一些问答对,于是写了爬虫爬数据,将爬下来的存入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;
  • 相关阅读:
    设计模式_抽象工厂模式
    KMeans聚类算法Hadoop实现
    JDK核心JAVA源代码解析(1)
    pushlet单播与多播
    SQL 2008 R2数据库变为REPLICATION,日志不断增长并且不能截断和收缩的解决方式
    chrome插件的popup与跨域请求
    Ubuntu vim+ ctags(包括系统函数) + taglist 配置
    spring Valid @Pattern 常见的验证表达式
    spring boot 全局异常处理
    spring 事件使用
  • 原文地址:https://www.cnblogs.com/roadofstudy/p/7511699.html
Copyright © 2011-2022 走看看