MySQL命令总结
- 登陆数据库
> mysql -uroot -p
或者(无密码) > mysql -uroot
- 查看当前服务器有多少个数据库
(mysql)> show databases;
- 删除某个数据库
(mysql)> drop database [database_name];
(mysql)> commit;
- 创建数据库
CREATE DATABASE [db_name] DEFAULT CHATACTER SET utf8(字符集) COLLATE utf8_general_ci;
- 查看创建数据库的语句
show create database [db_name];
修改字符集编码: ALTER DATABASE [db_name] DEFAULT CHATACTER SET utf8 COLLATE utf8_general_ci;
- 选择要使用的数据库
(mysql)> use [db_name];
- 查看数据库中有多少表
(mysql)> use tables;
- 创建表
create table [table_name](
id int(10) not null auto_increament,primary key(id),
name varchar(10) default null
);ENGINE=INNODB DEFAULT CHARSET=utf8;
- 查看创建的表信息
(mysql)> show create table [table_name];
- 查看表结构
(mysql)>desc [table_name]
or (mysql)>describe [table_name]
- 向表中插入数据&查看插入的内容
(mysql)> insert into [table_name] ([key1],[key2]...[keyn]) values (v1,v2..vn), (...),(...); -- 可以跟一组或者多组value,也就是允许插入多条数据
(mysql)> select * from [table_name];
- 删除表
(mysql)> drop table [table_name];
- 删除表中所有的数据
(mysql)> delete from [table_name];
- 更新表中的数据, 若没有where, 则影响所有的记录
(mysql)> updata [table_name] name='example' where id='eg';
- 查看mysql服务器版本&当前日期
(mysql)> select version(), current_date;
(mysql)> select version();
(mysql)> select now();
- 查看数据库用户
(mysql)> select user();
(mysql)> select current_user();
- 使用 load
> load data local infile [file_path] into table [table_name];
- 连接远程主机的mysql,假设远程主机ip是101.101.101.101
mysql -h101.101.101.101 -uroot -p
(注:u与root中间不加空格)
- 修改用户密码
在dos或者shell下
mysqladmin -u[用户名] -p[password] [new_password]
( 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了)
退出MySQL命令:exit; 或者quit;
- 增加新用户
grant select,[权限列表] on [数据库名].* to [用户名]@主机地址 identified by [密码]
eg:增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查
询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
(mysql)>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"
eg2:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机)
,这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以使用如下语句将密码去掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
- alter命令
alter add命令可以用于增加表的字段。
alter add 命令格式:alter table [表名] add [字段] [类型] [其他]
eg: 在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:
(mysql)> alter table MyClass add passtest int(4) default '0';
(mysql)> alter table Person add age int,add address varchar(11); --添加两个字段
(mysql)> alter table Person drop column age,drop column address; -- 删除两个字段
(mysql)> ALTER TABLE `student` MODIFY COLUMN `id` COMMENT '学号'; -- 修改字段的注释