mysql常用命令
2015-03-06 00:07 sylar_liang 阅读(158) 评论(0) 编辑 收藏 举报1.mysql服务的启动和停止
启动: net stop mysql
停止: net start mysql
卸载: sc delete MySQL
2.登陆mysql
mysql -h主机名 -u用户名 -p用户密码
-h: 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;
-u: 所要登录的用户名;
-p: 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如: mysql -uroot -p 回车, 输入密码如(123456)回车,成功则显示如下:
mysql>
如果是连接到另外的机器上,则需要加入一个参数 -h机器IP
3.增加新用户
grant 权限 on 数据库.* to 用户名@登陆主机 identified by "密码"
如:增加一个用户 user1 密码为 123456, 让其可以在本机上登陆,并对所有数据库有查询、插入、修改、删除的权限。
grant select,insert,update,delete on *.* to user1@localhost Identified by "123456";
4.操作数据库
记得末尾要以分号结尾.
0)选择所要操作的数据库
要对一个数据库进行操作, 必须先选择该数据库, 否则会提示错误:
ERROR 1046(3D000): No database selected
有2种方式:
一:登录数据库时指定
mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p
如:mysql -D my_db -u root -p
二:在登录后使用use语句
use 数据库名;
如: use my_db;
use 语句可以不加分号, 执行 use samp_db 来选择刚刚创建的数据库, 选择成功后会提示: Database changed
1)显示数据库列表
show databases;
缺省有2个数据库:mysql和test。
mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户就是对这个库进行操作。
2)显示库中的数据表
use mysql;
show tables;
3)显示数据表的结构
describe 表名;
4)建库与删库
create database 库名;
如: create database my_db character set gbk;
为了便于在命令提示符下显示中文,在创建时通过character set gbk将数据库字符编码指定为gbk.
drop database 库名;
5)建表/插入数据
use 库名;
create table 表名(字段列表);
如:
// id name sex age tel
create table students
(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
//auto_increment 需在整数列中使用, 其作用是在插入数据时若该列为 NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。
// primary key 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。
对于一些较长的语句在命令提示符下可能容易输错, 因此我们可以通过任何文本编辑器将语句输入好后保存为 createtable.sql 的文件中, 通过命令提示符下的文件重定向执行执行该脚本。
打开命令提示符,输入: mysql -D my_db -u root -p < createtable.sql;
(提示: 1.如果连接远程主机请加上 -h 指令; 2. createtable.sql 文件若不在当前工作目录下需指定文件的完整路径。)
插入数据
insert into 表名 [列名1,列名2...] values (值1,值2...)
如:
插入全部数据:
insert into students values(NULL, "小明", "男", 20,"13800138000");
插入部分数据:
insert into student(name,age) values("小红",21);
删除整张表
drop table 表名;
6)删除表中数据
delete from 表名;
7)显示表中的记录
select * from 表名;
如:
select name,age from students;
+--------+-----+ | name | age | +--------+-----+ | 王刚 | 20 | | 孙丽华 | 21 | | 王永恒 | 23 | | 郑俊杰 | 19 | | 陈芳 | 22 | | 张伟朋 | 21 | +--------+-----+ 6 rows in set (0.00 sec)
8)更新表中数据
update 表名称 set 列名称=新值 where 更新条件;
如:
将id为5的手机号改为默认的"-"
update students set tel=default where id=5;
5.导出和导入数据
1)导出数据
mysqldump --opt test > mysql.test
将test数据库导出到mysql.test文件, 后者是一个文本文件
如:
mysqldump -u root -p123456 --databases dbname > mysql.dbname
将数据库dbname 导出到文件mysql.dbname中
2)导入数据
mysqlimport -u root -p123456 < mysql.dbname
3)将文本数据导入数据库
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;
额外:修改root用户密码
mysqladmin -u root -p password 新密码
例如:
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex="f" where name='hyq';
13:备份数据库
mysqldump -u root 库名>xxx.data
14:例2:连接到远程主机上的MYSQL
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
15:退出MYSQL命令: exit (回车)