您的位置:首页 > 数据库 > MySQL

mysql学习笔记(1):mysql命令行的使用

2011-05-20 09:32 507 查看
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=表类型;





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: