zoukankan      html  css  js  c++  java
  • MySQL命令行数据操作使用心得(总结版)

    Char 0~255

    Varchar 0~65535

    text 0~65535(只能保存字符)

    Longtext 0~4294967295(只能保存字符)

    CMD登陆mysql

    mysql -u root -p

    mysql -P 3306 -uroot -p123456  (-P必须大写表示端口)

    1,数据库操作databases

    创建数据库

    create database

    显示数据库

    show databases

    删除数据库

    drop database  <数据库名>

    连接数据库

    Use <数据库名>

    查看当前使用的数据库

    select database()

    显示当前数据库信息

    Show tables

    导入sql数据库

    mysql -u root -p creat 数据库名 //先创建一个同名数据库

    mysql -u root -p 数据库名 <数据库本地地址

    use 数据库名 //更新数据库

    show table //显示新的导入表

    导入.sql文件命令(例如d:/mysql.sql)

    use database;

    source d:/mysql.sql;

     

     

    导入导出数据库(解决编码问题)

    mysql -uroot -p--default-character-set=utf8 joke<c:/joke.sql

    mysqldump –uroot –p joke table>joke.sql

     

    导出(备份)数据库

    mysqldump -u root -p 数据库名>c:/文件名.sql

     

    2,表操作table

    建立表

    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

     create table MyClass(
     id int,
     name char(20) not null,
     sex enum('f','m'));

    mysql> create table classify(

        ->title varchar(100) primary key,content longtext,author longtext,board lon

    gtext,datatype longtext);

    获取表结构

    describe myclass

    desc MyClass; 

    更改表名

    rename table 原表名 to 新表名

    删除表

    drop table <表名>

    清空表

    delete from 表名

    插入表中记录

    往表 MyClass中插入二条记录, 这二条记录表示:

    编号为1的名为Tom的成绩为96.45

    编号为2 的名为Joan的成绩为82.99

    编号为3 的名为Wang的成绩为96.5.

    insert into MyClassvalues(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

     insertinto 表名 values("hyq","M");

     

    更新表中数据

    update MYTABLE set sex="f" wherename='hyq';

     

    用文本方式将数据装入数据库表中(例如d:/mysql.txt)

    load data local infile "d:/mysql.txt" intotable mytable;

    删除表中数据

    delete from 表名where 表达式

    delete from MyClass where id=1;

     

    MySQL批量替换指定字段字符串语句

    UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件;

    update xxx set column = repalce(column,chr(ascii),''); //oracle

    update jo1 set 内容=replace(内容,char(13)+char(10),''); //回车+换行

    3,字段操作

    在表中增加字段:

    alter table 表名add字段 类型 其他; 

    例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0 

    alter table MyClass add passtest int(4) default '0'  //其中4可以省略,长度默认为11

     

    删除字段

    alter table 表名 drop column 字段名

     

    更新字段内容

    update 表名set 字段名 = 新内容

    update 表名set 字段名 = replace(字段名,'旧内容','新内容');

    文章前面加入4个空格

    update article set content=concat('  ',content);

    修改字段类型

    alter table forum alter column column_name new_data_type

    4,索引

    提高检索、查询速度;创建维护费时间,占用物理空间,影响插入记录的速录。(解决:先删除索引再插入记录)

     

    建立索引

    Create table index1(index(id));

     

    er table forum alter column column_name new_data_type

    5,查询操作

    查询表

    select * from MyClass;

    查询前几行数据

    select * from MyClass order by id limit 0,2;

    查询表中数据总数

    select count(*) from table

    字段类型

    1.INT[(M)] 型:正常大小整数类型 

    2.DOUBLE[(M,D)][ZEROFILL] 型: 正常大小(双精密)浮点数字类型 

    3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 

    4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 

    5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。 

    6.VARCHAR型:变长字符串类型

    查看mysql版本

    Select @@Version

     

    查看mysql默认编码

    show variables like 'character%';

    show variables like "character%";

    ..

    设置MySQL编码

    MySQL(版本是5.1.22)支持多种编码格式,并且可以在多个级别上设置不同的编码格式。

    • 服务器级:在安装MySQL时可以设置服务器的默认编码格式   
    • 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,
      如:default-character-set = utf8
      character_set_server = utf8
      修改完后,重启mysql的服务,service mysql restart 
    • 数据库级:在创建数据库时可以指定数据库的编码格式,如果不指定,则默认继承服务器的编码格式。示例如下:
    CREATEDATABASE db_name DEFAULT CHARACTER SET utf8;
    • 表级:在MySQL中可以对同一个数据库中表指定不同的编码格式,如果不指定将继承数据库的编码格式。示例如下:
    CREATETABLE  `db_name`.`tb_name`(
          id VARCHAR(20)NOTNULL,
         name VARCHAR(20)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
    • 列级:另外还可以对同一个表中的不同列指定不同的编码格式,示例如下:
    CREATETABLE  `db_name`.`tb_name`(
      id varchar(20)NOTNULL,
      name varchar(20) CHARACTER SET utf8
    );

    制定编码方式的一个好处是,增强对中文的处理,可解决表中部分中文字段内容在不同工具下乱码的问题

     

    1.具体查询

    SELECT content FROM forum

    WHERE content='缩小贫富差距,是一个纠结的课题,怎么缩?关键是收入分配。话语权大的利益群众,收入分配明显偏高,导致收入差距拉大'

     

     

    2.仔细搜索

    SELECT content,

           DATE,

           url,

           id,

           ObjectKey,

           RobotName,

           ExecutionId,

           FirstExtracted,

           LastExtracted,

           ExtractedInLastRun,

           LastUpdated,

           num

           FROM aeolus.forum WHERE id='哄旗飞舞'

     

     

    3.模糊查询

    SELECT 字段 FROM 表

    WHERE 字段 LIKE'%'

     

     

    4.模糊删除

    DELETE FROM aeolus.forum WHEREid LIKE '%' ;

     

    CRLF –

    Carriage-Return Line-Feed回车换行 回车(CR, ASCII 13, ) 换行(LF, ASCII 10, )

  • 相关阅读:
    SpringBoot 整合Redis
    IDEA 修改之前保存的git地址的账号和密码
    SpringBoot 上传文件功能
    JAVA结合 JSON Web Token(JWT) 工具类
    SpringBoot 整合Spring Security框架
    Sublime Text3 设置
    Python 正则表达式
    Django+uWSGI+Nginx 部署网站
    web 设计中引入字体
    HTML 超链接返回上一级
  • 原文地址:https://www.cnblogs.com/chen-lhx/p/3952807.html
Copyright © 2011-2022 走看看