mysql常用命令行

    技术2022-05-20  59

    1、MySQL常用命令 -

    -

    create database name; 创建数据库 -

    -

    use databasename; 选择数据库 -

    -

    drop database name 直接删除数据库,不提醒 -

    -

    show tables; 显示表 -

    -

    describe tablename; 表的详细描述 -

    -

    select 中加上distinct去除重复字段 -

    -

    mysqladmin drop databasename 删除数据库前,有提示。 -

    -

    显示当前mysql版本和当前日期 -

    -

    select version(),current_date; -

    -

    2、修改mysql中root的密码: -

    -

    shell>mysql -u root -p -

    -

    mysql> update user set password=password(”xueok654123″) where user=’root’; -

    -

    mysql> flush privileges //刷新数据库 -

    -

    mysql>use dbname; 打开数据库: -

    -

    mysql>show databases; 显示所有数据库 -

    -

    mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后 -

    -

    mysql>describe user; 显示表mysql数据库中user表的列信息); -

    -

    3、grant -

    -

    创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个 -

    -

    mysql> grant all privileges on *.* to user@localhost identified by ’something’ with -

    -

    增加新用户 -

    -

    格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码” -

    -

    GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION; -

    -

    GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION; -

    -

    删除授权: -

    -

    mysql> revoke all privileges on *.* from root@”%”; -

    -

    mysql> delete from user where user=”root” and host=”%”; -

    -

    mysql> flush privileges; -

    -

    创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb -

    -

    mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’ -

    -

    重命名表: -

    -

    mysql > alter table t1 rename t2; -

    -

    4、mysqldump -

    -

    备份数据库 -

    -

    shell> mysqldump -h host -u root -p dbname >dbname_backup.sql -

    -

    恢复数据库 -

    -

    shell> mysqladmin -h myhost -u root -p create dbname -

    -

    shell> mysqldump -h host -u root -p dbname < dbname_backup.sql -

    -

    如果只想卸出建表指令,则命令如下: -

    -

    shell> mysqladmin -u root -p -d databasename > a.sql -

    -

    如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下: -

    -

    shell> mysqladmin -u root -p -t databasename > a.sql -

    -

    那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢? -

    -

       mysqldump -T./ phptest driver -

    -

    其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。 -

    -

    5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查 -

    -

    询,可如下执行这些查询: -

    -

    例如,如果您想将建表语句提前写在sql.txt中: -

    -

    mysql > mysql -h myhost -u root -p database < sql.txt -

    MySQL实用命令 Wikipedia,自由的百科全书 一) 连接MYSQL:    格式: mysql -h主机地址 -u用户名 -p用户密码

    1、例1:连接到本机上的MYSQL    首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 2、例2:连接到远程主机上的MYSQL    假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:    mysql -h10.0.0.1 -uroot -p123   (注:u与root可以不用加空格,其它也一样) 3、退出MYSQL命令    exit (回车)

    (二) 修改密码:    格式:mysqladmin -u用户名 -p旧密码 password 新密码 1、例1:给root加个密码123。首先在DOS下进入目录C:/mysql/bin,然后键入以下命令:    mysqladmin -uroot -password 123    注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 2、例2:再将root的密码改为456    mysqladmin -uroot -pab12 password 456 (三) 增加新用户:(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)    格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"    例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:    grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

       但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。    例2、增加一个用户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 ""; (四) 显示命令 1、显示数据库列表:    show databases;    刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。 2、显示库中的数据表:    use mysql; //打开库    show tables; 3、显示数据表的结构:    describe 表名; 4、建库:    create database 库名; 5、建表:    use 库名;    create table 表名 (字段设定列表); 6、删库和删表:    drop database 库名;    drop table 表名; 7、将表中记录清空:    delete from 表名; 8、显示表中的记录:    select * from 表名;

    MySQL导入导出命令 1.导出整个数据库   mysqldump -u 用户名 -p 数据库名 > 导出的文件名   mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表   mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名   mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

    3.导出一个数据库结构   mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql   -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

    4.导入数据库   常用source 命令   进入mysql数据库控制台,   如mysql -u root -p   mysql>use 数据库   然后使用source命令,后面参数为脚本文件(如这里用到的.sql)   mysql>source d:wcnc_db.sql  (注:如果写成source d:/wcnc_db.sql,就会报语法错误) [color=darkred][/color]MySQL 命令行

    1、mysql服务的启动和停止 net stop mysql net start mysql

    2、登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

    3、增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

    4: 操作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 1、 显示数据库列表。 show databases; 缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。 2、 显示库中的数据表: use mysql; show tables; 3、 显示数据表的结构: describe 表名; 4、 建库与删库: create database 库名; drop database 库名; 5、 建表: use 库名; create table 表名(字段列表); drop table 表名; 6、 清空表中记录: delete from 表名; 7、 显示表中的记录: select * from 表名;

    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 表名; 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2: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.data14:

    例2:连接到远程主机上的MYSQL   假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:    

      mysql -h110.110.110.110 -uroot -pabcd123   

      (注:u与root可以不用加空格,其它也一样)   

      3、退出MYSQL命令: exit 第一招、mysql服务的启动和停止net stop mysqlnet start mysql

    第二招、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:mysql>注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

    第三招、增加新用户格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。如果你不想user1有密码,可以再打一个命令将密码去掉。grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

    第四招: 操作数据库登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。1、 显示数据库列表。show databases;缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。2、 显示库中的数据表:use mysql;show tables;3、 显示数据表的结构:describe 表名;4、 建库与删库:create database 库名;drop database 库名;5、 建表:use 库名;create table 表名(字段列表);drop table 表名;6、 清空表中记录:delete from 表名;7、 显示表中的记录:select * from 表名;

    第五招、导出和导入数据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 表名;1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATAmysql> 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.data14:

    例2:连接到远程主机上的MYSQL   假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:    

      mysql -h110.110.110.110 -uroot -pabcd123   

      (注:u与root可以不用加空格,其它也一样)   

      3、退出MYSQL命令: exit

    重要提示:mysql命令直到遇到;才开始执行,除了几个特殊命令1、启动MySQL服务器实际上上篇已讲到如何启动MySQL。两种方法:一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。二是在DOS方式下运行 c:/mysql/bin/mysqld2、进入mysql交互操作界面在DOS方式下,运行: d:mysqlbinmysql出现: mysql 的提示符,此时已进入mysql的交互操作方式。如果出现 "ERROR 2003: Can′t connect to MySQL server on ′localhost′ (10061)“,说明你的MySQL还没有启动。3、退出MySQL操作界面在mysql>提示符下输入quit可以随时退出交互操作界面:mysql> quitBye你也可以用control-D退出。4、第一条命令mysql> select version(),current_date();+----------------+-----------------+| version() | current_date() |+----------------+-----------------+| 3.23.25a-debug | 2001-05-17 |+----------------+-----------------+1 row in set (0.01 sec)mysql>此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。结果说明mysql命令的大小写结果是一致的。练习如下操作:mysql>Select (20+5)*4;mysql>Select (20+5)*4,sin(pi()/3);mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)5、多行语句一条命令可以分成多行输入,直到出现分号“;”为止:

    mysql> select-> USER()-> ,-> now()->;+--------------------+---------------------+| USER() | now() |+--------------------+---------------------+| ODBC@localhost | 2001-05-17 22:59:15 |+--------------------+---------------------+1 row in set (0.06 sec)mysql>注意中间的逗号和最后的分号的使用方法。6、一行多命令输入如下命令:mysql> SELECT USER(); SELECT NOW();+------------------+| USER() |+------------------+| ODBC@localhost |+------------------+1 row in set (0.00 sec)+---------------------+| NOW() |+---------------------+| 2001-05-17 23:06:15 |+---------------------+1 row in set (0.00 sec)mysql>注意中间的分号,命令之间用分号隔开。7、显示当前存在的数据库mysql> show databases;+----------+| Database |+----------+| mysql || test |+----------+2 row in set (0.06 sec)mysql>8、选择数据库并显示当前选择的数据库mysql> USE mysqlDatabase changedmysql>(USE 和 QUIT 命令不需要分号结束。)mysql> select database();+---------------+| database() |+---------------+| mysql |+---------------+1 row in set (0.00 sec)9、显示当前数据库中存在的表mysql> SHOW TABLES;10、显示表(db)的内容mysql>select * from db;11、命令的取消当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令mysql> select-> user()-> cmysql>这是一些最常用的最基本的操作命令,通过多次练习就可以牢牢掌捂了。 Mysql数据库是一个多用户,多线程的关系型数据库,是一个客户机/服务器结构的应用程序。它是对个人用户和商业用户是免费的.

      Mysql数据库具有以下优点:

      1.同时访问数据库的用户的数量不受限制

      2.可以保存超过5千万条的记录

      3.是目前市场上现有数据库产品中运行速度最快的数据库系统

      4.用户权限设置简单、有效。

      Mysql数据库常用命令:

      启动Mysql数据库

      C:/>cd Mysql5.0/bin

      C:/Mysql5.0/bin>mysqld –install 安装Mysql服务

      C:/Mysql5.0/bin>net start mysql 启动Mysql服务

      请求的服务已经启动。

      连接mysql

      用户需要提供Mysql的用户名和密码来连接服务器,如果服务器不是在本机,则还需要一个主机名或IP来指定服务器的位置。

      C:/Mysql5.0/bin>mysql -h localhost -u root -p

      Enter password: ****

      Welcome to the MySQL monitor. Commands end with ; or /g.

      Your MySQL connection id is 6 to server version: 5.0.18-nt

      Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

      mysql>

      使用一条简单的查询语句

      mysql> select version(),current_date;

      mysql> select version();select now();

      新建或删除一个数据库

      Mysql>create database mydb;

      Mysql> drop database mydb;

      打开的数据库的命令

      mysql> use mysql

      Database changed

      查看数据库的命令

      mysql> show databases;

      查看数据表的详细结构

      mysql> desc func;

      新建数据库

      mysql> create database school;

      Query OK, 1 row affected (0.00 sec)

      新建表

      mysql> create table user01(

      -> id varchar(20) NOT NULL,

      -> userName varchar(10) NOT NULL,

      -> age int(11) default'0',

      -> sex char(2) NOT NULL default'm',

      -> PRIMARY KEY (id)

      -> )TYPE=InnoDB;

      Query OK, 0 rows affected, 1 warning (0.02 sec)mysql>desc student;

      插入和删除表中的数据

      Create table student(stuName varchar(20),age varchar(20),id varchar(20),set0 char(1));

      插入

      mysql> insert into student(id,stuName) values('1','tomcat');

      Query OK, 1 row affected (0.00 sec)

      删除

      mysql> delete from student where id='1';

      Query OK, 1 row affected (0.01 sec)

      删除表中所有数据

      mysql> truncate table student;

      Query OK, 1 row affected (0.01 sec)

      删除表

      mysql> create table temp(t varchar(1));

      Query OK, 0 rows affected (0.00 sec)

      mysql> drop table temp;

      Query OK, 0 rows affected (0.00 sec)

      创建新用户并给予权限

      mysql> grant all privileges on *.* to dbuser@localhost identified by '1234'

      with grant option;

      更改Mysql用户密码

      c:/Mysql5.0/bin>mysqladmin -u root -p password 1234

      Enter password: ****

      备份数据库及表

      我们用mysqldump命令来备份数据库

      c:/mysql/bin/>mysqldump –u root –p 3306 mysql>d:/backup.sql

      执行此语句将把mydb 备份到D盘的backup.sql文件中

      备份多个数据库表

      c:/mysql/bin/>mysqldump –u root –p 3306 school user01 user >d:/backup.sql

      此句的意思是把school库中的user01表和user表的内容和表的定义备份到D盘backup.sql文件中。

      备份所有的数据库

      c:/myql/bin>mysqldump –u root –p 3306 –all –database>d:backup.sql

      还原Mysql数据库

      c:/mysql/bin/mysql –u root –p 3306 school

      还原其中的一个表

      mysql> source d:/books.sql;

      ERROR:

      Unknown command '/b'.

      Query OK, 0 rows affected (0.00 sec)

      Query OK, 1 row affected (0.00 sec)

      退出Mysql连接

      mysql>quit(exit)

      关闭mysql服务

      C:/mysql/bin>net mysql


    最新回复(0)