zoukankan      html  css  js  c++  java
  • Linux 终端对Mysql数据库进行操作

    本人Ubuntu 10.10 ,打开mysql命令:sudo mysql -u root -p

    1、使用SHOW语句找出在服务器上当前存在什么数据库:show databases;

    mysql> SHOW DATABASES; 
    +----------+
    | Database |
    +----------+
    | mysql |
    | test |
    +----------+
    3 rows in set (0.00 sec)

        2、创建一个数据库abccs :
        mysql> CREATE    DATABASE    abccs; 

    设置数据库的编码方式:DEFAULT CHARACTER SET utf8

    注意不同操作系统对大小写的敏感。

        3、选择你所创建的数据库 
        mysql> USE    abccs 
        Database changed 
        此时你已经进入你刚才所建立的数据库abccs.

        4、 创建一个数据库表

        首先看现在你的数据库中存在什么表: 
        mysql> SHOW    TABLES; 
        Empty set (0.00 sec) 
        说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable: 
        我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。

    mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), 
    -> birth DATE, birthaddr VARCHAR(20));
    Query OK, 0 rows affected (0.00 sec)

        由于name、birthadd的列值是变化的,因此选择VARCHAR, 其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。);性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);birth列则使用DATE数据类型。

        创建了一个表后,我们可以看看刚才做的结果,用SHOW TABLES显示数据库中有哪些表:

    mysql> SHOW TABLES; 
    +---------------------+
    | Tables in menagerie |
    +---------------------+
    | mytables |
    +---------------------+

        5、显示表的结构:describe mytable

    mysql> DESCRIBE mytable; 
    +-------------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------------+-------------+------+-----+---------+-------+
    | name | varchar(20) | YES | | NULL | |
    | sex | char(1) | YES | | NULL | |
    | birth | date | YES | | NULL | |
    | deathaddr | varchar(20) | YES | | NULL | |
    +-------------+-------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)

        6、 往表中加入记录

        我们先用SELECT命令来查看表中的数据: 
        mysql> select    *     from    mytable; 
        Empty set (0.00 sec)
        这说明刚才创建的表还没有记录。

        加入一条新记录:

    mysql> insert into mytable 
    -> values (′abccs′,′f′,′1977-07-07′,′china′);
    Query OK, 1 row affected (0.05 sec)

        再用上面的SELECT命令看看发生了什么变化。我们可以按此方法一条一条地将所有员工的记录加入到表中。

        7、用文本方式将数据装入一个数据库表

        如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在CREATE TABLE语句中列出的列次序给出,例如:

    abccs f 1977-07-07 china   
    mary f 1978-12-12 usa
    tom m 1970-09-02 usa

        使用下面命令将文本文件“mytable.txt”装载到mytable表中:mysql> LOAD    DATA    LOCAL    INFILE    "/data/mytable.txt"    INTO   TABLE mytable;

        再使用如下命令看看是否已将数据输入到数据库表中:mysql> select * from mytable;

     8、终端操作导入数据库(.sql文件)

    mysql>use database;
             mysql>source /home/lw/mysql.sql;

    将csv数据导入到数据库中

    1.Use  t005;                (数据库)

    2.load data local infile "/root/test.csv" replace into table t005.TTFClientOrder fields terminated by ',' optionally enclosed by '"' escaped by '//' lines terminated by '/r/n';

    链接数据库

    1.      mysql –u root –p

    2.      su –l  dltsidev3   切换用户 (Linux)

    授权

    Use t005

    Grant select,update,insert,delete,drop,alter,create,index on t005.* to nz@10.10.1.5;

    Flush privileges;

    修改数据库编码格式:
    ALTER TABLE `stock_info` DEFAULT CHARACTER SET utf8
    参考资料:

  • 相关阅读:
    【shell脚本】批量修改扩展名===modifyExtension.sh
    【shell脚本】打印九九乘法表
    【shell脚本】显示进度条
    【Linux命令】Linux压缩及解压命令
    【Linux命令】ulimit设置最大文件打开数
    【mysql】修改mysql数据库密码
    【raid级别】RAID级别工作模式
    MyBatis之#{} and ${}
    MyBatis之foreach
    强制修改常量的值
  • 原文地址:https://www.cnblogs.com/webu/p/2826189.html
Copyright © 2011-2022 走看看