现在的位置: 首页 > 综合 > 正文

命令行使用mysql

2013年08月30日 ⁄ 综合 ⁄ 共 2622字 ⁄ 字号 评论关闭

mysql 命令行其实就是用sql来操作mysql数据库:
mysql 命令行其实就是用sql来操作mysql数据库:

1. 登录mysql:mysql -u用户名 –p 回车 输入密码

//mysql命令对应的可执行文件在home/mysql/bin目录下,该目录添加到环境变量PATH,shell程序执行mysql命令时,会根据PATH找到该目录

2. 显示数据库:show databases [like wild];//wild可以是使用sql的‘%’‘_’通配符的字符串

3. 创建数据库: create database 数据库名;

删除数据库:drop database [if exists]数据库名;//删除数据库中所有表,及对应的.frm文件,和.MYD,.MYI文件

注:也可以在shell下使用命令mysqladmin 命令进行数据库的创建与删除

shell> mysqladmin –u mysql –p create数据库名;//mysqladmin同mysql命令一样,其对应的可执行程序在home/mysql/bin下

shell> mysqladmin –u mysql –p drop 数据库名;

 

4. 选择要操作数据库:use 数据库名;

5. 显示数据库中表:show tables;

6.创建表:create table 表名();

删除表:drop table 表名;

注意:1.命令行以分号结束

         2.创建表时最后一个字段是不加逗号的,否则会报错

                      create table test

                      (

                                   name varchar(30),

                                  age      int

                       );

7. 当要在数据库中建立很多表时,对每个表在命令行中进行create,会很麻烦,而且容易出错而不易调试,

可以建立一个.sql文件,在该文件中,写入建表语句,再在命令行中使用source命令,即

source mysql-create.sql

最好同时创建一个mysql-delete.sql比较安全

8. 查看表结构:describe 表名;(其实也可以查看表的列数)

9. 查看表的列数:show fields from 表名;

10. 对表结构进行修改:alter table 表名

                                      add [column] 列名 数据类型 [not null default 0][first|after列名];//增加字段,可以指定特定位置

                                      add [constraint 约束名] primary key(列名);//添加主键或称为主索引

                                      add constraint 约束名 primary key(列1,列2);//多个字段组成主键

 

                                     add [constraint 约束名symbol]foreign key [index_name](列名)reference 另一表名(列名)

                                   [on delete {restrict|cascade|set null|no action}][on update{restrict|cascade|set null|no action}]

注:1.表必须是InnoDB类型的,因为只有InnoDB存储引擎执行添加外键子语,对于其他引擎会分析这些子句,但会忽略

     2.对于check子句,所有的存储引擎会进行分析,但会忽略

                                    add [constraint 约束名] unique index_name(列);

 

                                      drop [column] 列名;//删除字段

                                       drop inex index_name;//这里和oracle ,sql server ,ms access不同,mysql对sql的扩展

                                       drop primary key;

                                       drop foreign key 约束名(fk_symbol);

 

                                     alter 列名 set default 默认值;//对某字段增加默认值

                                     alter 列名 set not null ;对某字段设置为非空

                                      change 列名 新列名 新类型[first|after 列名];/改变某字段的类型,也可以改变名字

                                      modify 列名 新类型[first|after 列名];//oracle对alter table 的扩展

注:alter table 表名 后可接多个add,drop ,alter 子句,各子句用逗号隔开,

11.对表内容进行修改:update 表名 set 字段1 =值1,字段2=值2 where条件;

12.向表中插入内容:insert 表名(字段1,字段2...)values(值1,值2...);

                              load data infile 文件名 into table 表名

13.删除表中内容:delete [from]表名 where 条件;//删除符合条件的行

14.查看MySQL版本:

命令status;

 

注:通过UNIX socket 连接数据库

命令select version();

 

15.查看修改表类型(即使用的存储引擎):

show create table 表名;

 

ENGINE=InnoDB

修改表类型:

alter table 表名 type=表类型;

抱歉!评论已关闭.