zoukankan      html  css  js  c++  java
  • MYSQL常用查命令 分类: 数据库 20100928 13:57 513人阅读 评论(2) 收藏

    mysql> select version();        查看MySQL的版本号
    mysql> select current_date();        查看MySQL的当前日期
    mysql> select version(),current_date(); 同时查看MySQL的版本号和当前日期
    mysql> show databases;            显示当前存在的数据库
    mysql> USE mysql            选择使用数据库(USE和QUIT命令不需要分号结束)
    Database changed
    mysql> select database();        显示当前选择的数据库
    mysql> show tables;            显示当前数据库中存在的表
    mysql> select * from db;        显示表(db)的内容   
    mysql> describe mytable;        显示表的结构
    或show columns from 表名;

    mysql> select
    -> user()
    -> /c
    mysql>

    练习如下操作:
      mysql> select
      -> USER()
      -> ,
      -> now()
      ->;
    mysql> Select (20+5)*4;
    mysql> Select (20+5)*4,sin(pi()/3);
    mysql> Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)


    查看MySQL当前用户占用的连接数

    命令: show processlist;
    如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
    show processlist;只列出前100条,如果想全列出请使用show full processlist;
    mysql> show processlist;


    一。数据库:

        mysql> CREATE DATABASE abccs;         创建一个数据库        
          mysql> USE abccs            选择使用数据库
          mysql> drop database 数据库名;        删除数据库

    二。表:

        1。创建一个表mytable:
       
          mysql> CREATE TABLE mytable
              -> (
              -> name VARCHAR(20),
              -> sex CHAR(1),
              -> birth DATE,
              -> birthaddr VARCHAR(20)
              -> );
        建立一个员工生日表,表的内容包含员工姓名、性别、出生日期、出生城市。
          由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。
            可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。
          性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);
          birth列则使用DATE数据类型。

        2。查询刚添加的记录:
        mysql> select * from mytable;
          Empty set (0.00 sec)      这说明刚才创建的表还没有记录。

        3。添加新记录:
        mysql> insert into mytable               
              -> values
              ->(
              ->'abccs',
              ->'f',
              ->'1977-07-07',
              ->'china'
              ->);

        4。用文本方式将数据装入一个数据库表:
             一条一条地添加新记录,实在太麻烦。
           创建一个文本文件“mysql.txt”,按表结构排好每行每条记录,用定位符(tab)把值分开。
            abccs f 1977-07-07 china  
              mary f 1978-12-12 usa
              tom m 1970-09-02 usa
           使用此命令将文本文件“mytable.txt”装载到表中:   
             mysql> Load data local infile "mytable.txt" into table mytable;

        数据传入命令load data local infile "文件名" into table 表名;
        注意:你最好将文件复制到mysql/bin目录下,并且要先用use命令选表所在的库。
       
        5。更新记录:
        mysql> update mytable set birth = "1973-09-02" where name = "tom";
       
        6。删除记录:
          mysql> delete from mytable where id=10;         //删除掉所有id=10的记录;
        mysql> delete from mytable where id=10 limit 1; //限制删除掉1条id=10的记录;
        mysql> delete from mytable            //删除一个表的全部记录;
        mysql> DELETE FROM t1 WHERE C>10;
          mysql> drop table tablename1,tablename2,…;    //删除整一个表或多个表,小心使用。

        7。重命名表:
        mysql> alter table t1 rename t2;

        8。修改mysql的表结构:

        查看mysql的表结构:
          mysql> describe mytable;   或用show columns from 表名;
      
        修改字段属性
        mysql> alter table tablename modify id int(10) unsigned auto_increment primary key not null

        修改默认值
        mysql> alter table tablename alter id default 0

        给字段增加primary key
        mysql> alter table tablename add primary key(id);

        删除primary key
        1、alter table tablename drop primary key;
        2、drop primary key on tablename;

        修改table表数据引擎
        mysql> alter table tableName ENGINE = MyISAM (InnoDB);

        增加一新字段名:
          mysql> alter table mytable add column single char(1);
        mysql> ALTER TABLE table ADD field INT(11) UNSIGNED NOT NULL

        删除字段
        mysql> alter table t2 drop column c;

        附:
        为了改变列a,从INTEGER改为TINYINT NOT NULL(名字一样),
        并且改变列b,从CHAR(10)改为CHAR(20),同时重命名它,从b改为c:
        ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

        增加一个新TIMESTAMP列,名为d:
        ALTER TABLE t2 ADD d TIMESTAMP;

        在列d上增加一个索引,并且使列a为主键:
        ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

        增加一个新的AUTO_INCREMENT整数列,命名为c:
        ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
       
        注意,我们索引了c,因为AUTO_INCREMENT柱必须被索引,
        并且另外我们声明c为NOT NULL,因为索引了的列不能是NULL。

        使用name列的头10个字符创建一个索引:
        CREATE INDEX part_of_name ON customer (name(10));

    三。数据的备份与恢复:

    导出和导入数据:(命令在DOS的mysql/bin目录下执行)
    导出表
    mysqldump --opt school > school.sql
    注释:将数据库school中的表全部备份到school.sql文件,school.sql是一个文本文件,
    文件名任取,打开看看你会有新发现。
    mysqldump --opt school teacher student > school.teacher.student.sql
    注释:将数据库school中的teacher表和student表备份到school.teacher.student.sql文
    件,school.teacher.student.sql是一个文本文件,文件名任取,打开看看你会有新发现。

    导入表
    mysql
    mysql>create database school;
    mysql>use school;
    mysql>source school.sql;
    (或将school.sql换为school.teacher.sql / school.teacher.student.sql)

    导出数据库
    mysqldump --databases db1 db2 > db1.db2.sql
    注释:将数据库dbl和db2备份到db1.db2.sql文件,db1.db2.sql是一个文本文件,文件名
    任取,打开看看你会有新发现。
    (举个例子:
    mysqldump -h host -u user -p pass --databases dbname > file.dump
    就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中。)

    导入数据库
    mysql < db1.db2.sql

    复制数据库mysqldump --all-databases > all-databases.sql
    注释:将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取。

    导入数据库
    mysql
    mysql>drop database a;
    mysql>drop database b;
    mysql>drop database c;
    ...
    mysql>source all-databases.sql; (或exit退出mysql后 mysql < all-databases.sql)
    <

    转帖地址:http://hi.baidu.com/chenruijun1988/blog/item/0e923445fd77a088b2b7dcfb.html

  • 相关阅读:
    hdu1240 bfs 水题
    hdu 2102 BFS
    gym 101081E Polish Fortress 几何
    Gym 101081K Pope's work dp
    hdu 6188 贪心
    hdu 6186 水
    Codeforces Round #430 (Div. 2) A B 水 C dfs,思维 D trie,二进制
    hdu6152 拉姆齐定理
    hdu6165 缩点,dfs
    hdu6153 扩展KMP
  • 原文地址:https://www.cnblogs.com/configman/p/4657607.html
Copyright © 2011-2022 走看看