您所在的位置:主页 > JAVA技术 >

常见的MySQL命令大全second

时间:2019-01-23 14:28来源:未知 作者:os 点击:

4、mysqldump
备份数据库
shell> mysqldump -h host -u root -p dbname >dbname_backup.sql
恢复数据库
shell> mysqladmin -h myhost -u root -p create dbname
shell> mysqldump -h host -u root -p dbname < dbname_backup.sql
如果只想卸出建表指令,则命令如下:
shell> mysqladmin -u root -p -d databasename > a.sql
如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:
shell> mysqladmin -u root -p -t databasename > a.sql
那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?
   mysqldump -T./ phptest driver
其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。
5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查
询,可如下执行这些查询:
例如,如果您想将建表语句提前写在sql.txt中:
mysql > mysql -h myhost -u root -p database < sql.txt
1、安装环境:
      Windows XP
      Mysql 4.0.17 从     下次就需要用mysql -uroot -proot才可以登陆
    在远程或本机可以使用 mysql -h 172.5.1.183 -uroot 登陆,这个根据第二行的策略确定
    权限修改生效:
       1)net stop mysql
         net start mysql
       2)c:\mysql\bin\mysqladmin flush-privileges
       3)登陆mysql后,用flush privileges语句
6、创建数据库staffer
    create database staffer;
7、下面的语句在mysql环境在执行
    显示用户拥有权限的数据库        show databases;
    切换到staffer数据库        use staffer;
    显示当前数据库中有权限的表 show tables;
    显示表staffer的结构    desc staffer;
8、创建测试环境
    1)创建数据库staffer
      mysql> create database staffer
    2)创建表staffer,department,position,depart_pos
      create table s_position
      (
          id int not null auto_increment,
          name varchar(20) not null default '经理', #设定默认值
          description varchar(100),
          primary key PK_positon (id)   #设定主键
      );   
      create table department
      (
          id int not null auto_increment,
          name varchar(20) not null default '系统部', #设定默认值
          description varchar(100),
          primary key PK_department (id)   #设定主键
      );
      create table depart_pos
      (
          department_id int not null,
          position_id int not null,
          primary key PK_depart_pos (department_id,position_id)   #设定复和主键
      );
      create table staffer
      (
          id int not null auto_increment primary key,   #设定主键
          name varchar(20) not null default '无名氏',   #设定默认值
          department_id int not null,
          position_id int not null,
          unique (department_id,position_id)   #设定唯一值
      );
    3)删除
      mysql>
         drop table depart_pos;
         drop table department;
         drop table s_position;
         drop table staffer;
         drop database staffer;

9、修改结构
    mysql>
    #表position增加列test
    alter table position add(test char(10));
    #表position修改列test
    alter table position modify test char(20) not null;
    #表position修改列test默认值
    alter table position alter test set default 'system';
    #表position去掉test默认值
    alter table position alter test drop default;
    #表position去掉列test
    alter table position drop column test;
    #表depart_pos删除主键
    alter table depart_pos drop primary key;
    #表depart_pos增加主键
    alter table depart_pos add primary key PK_depart_pos (department_id,position_id);
10、操作数据
    #插入表department
    insert into department(name,description) values('系统部','系统部');
    insert into department(name,description) values('公关部','公关部');
    insert into department(name,description) values('客服部','客服部');
    insert into department(name,description) values('财务部','财务部');
    insert into department(name,description) values('测试部','测试部');
    #插入表s_position
    insert into s_position(name,description) values('总监','总监');
    insert into s_position(name,description) values('经理','经理');
    insert into s_position(name,description) values('普通员工','普通员工');
    #插入表depart_pos
    insert into depart_pos(department_id,position_id)
    select a.id department_id,b.id postion_id
    from department a,s_position b;
    #插入表staffer
    insert into staffer(name,department_id,position_id) values('陈达治',1,1);
    insert into staffer(name,department_id,position_id) values('李文宾',1,2);
    insert into staffer(name,department_id,position_id) values('马佳',1,3);
    insert into staffer(name,department_id,position_id) values('亢志强',5,1);
    insert into staffer(name,department_id,position_id) values('杨玉茹',4,1);
未完待续。。。。。。