代码改变世界

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 (回车)