Mysql命令大全

2019-05-03 23:09栏目:程序人生

格式: mysql -h主机地址 -u用户名 -p用户密码

五.1 创设数据表

命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

比如,创建贰个名叫MyClass的表,

字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
id int 4 primary key auto_increment  
name char 20      
sex int 4     0
degree double 16      

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));

七.二 四个建库和建表的实例二

drop database if exists school; //假设存在SCHOOL则删除 create database school; //创立库SCHOOL use school; //展开库SCHOOL create table teacher //创设表TEACHE奥迪Q3 (     id int(叁) auto_increment not null primary key,     name char(10) not null,     address varchar(50) default ''布Rees班'',     year date ); //建表截至
//以下为插入字段 insert into teacher values('''',''glchengang'',''费城一中'',''197陆-10-十''); insert into teacher values('''',''jack'',''布Rees班一中'',''197五-1二-贰三'');
注:在建表中 一、将ID设为长度为3的数字字段:int(三);并让它各样记录自动加1:auto_increment;并不可能为空:not null;而且让她形成主字段primary key。
2、将NAME设为长度为10的字符字段
三、将ADDRESS设为长度50的字符字段,而且缺省值为卡拉奇。
4、将YEATucson设为日期字段。

 

 

格式: mysql -h主机地址 -u用户名 -p用户密码

5.九 修改表名

命令:rename table 原表名 to 新表名;

比方:在表MyClass名字改成为YouClass
   mysql> rename table MyClass to YouClass;

当你实践 RENAME 时,你不可能有另外锁定的表或位移的政工。你同样也必须有对原初表的 ALTE凯雷德 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

假定在多表更名中,MySQL 遭遭逢别的错误,它将对持有被更名的表打开战败更名,将每件东西退回到前期状态。

RENAME TABLE 在 MySQL 3.贰三.贰三 中被投入。

四.伍 当前采纳的数据库

命令:mysql> select database();

MySQL中SELECT命令类似于任何编制程序语言里的print可能write,你能够用它来展现八个字符串、数字、数学表达式的结果等等。怎么样选用MySQL中SELECT命令的奇特成效?

1.显示MYSQL的版本
mysql> select version(); 
-----------------------  
| version()             | 
-----------------------  
| 6.0.4-alpha-community | 
-----------------------  
1 row in set (0.02 sec) 

二. 来安妥前岁月
mysql> select now(); 
---------------------  
| now()               | 
---------------------  
| 2009-09-15 22:35:32 | 
---------------------  
1 row in set (0.04 sec) 

3. 出示年月日
SELECT DAYOFMONTH(CURRENT_DATE); 
--------------------------  
| DAYOFMONTH(CURRENT_DATE) | 
--------------------------  
|                       15 | 
--------------------------  
1 row in set (0.01 sec) 
  
SELECT MONTH(CURRENT_DATE); 
---------------------  
| MONTH(CURRENT_DATE) | 
---------------------  
|                   9 | 
---------------------  
1 row in set (0.00 sec) 
  
SELECT YEAR(CURRENT_DATE); 
--------------------  
| YEAR(CURRENT_DATE) | 
--------------------  
|               2009 | 
--------------------  
1 row in set (0.00 sec) 

4. 显得字符串
mysql> SELECT "welecome to my blog!"; 
----------------------  
| welecome to my blog! | 
----------------------  
| welecome to my blog! | 
----------------------  
1 row in set (0.00 sec) 

五. 当总结器用
select ((4 * 4) / 10 ) 25; 
----------------------  
| ((4 * 4) / 10 ) 25 | 
----------------------  
|                26.60 | 
----------------------  
1 row in set (0.00 sec) 

六. 串接字符串
select CONCAT(f_name, " ", l_name) 
AS Name 
from employee_data 
where title = 'Marketing Executive'; 
---------------  
| Name          | 
---------------  
| Monica Sehgal | 
| Hal Simlai    | 
| Joseph Irvine | 
---------------  
3 rows in set (0.00 sec) 
瞩目:这里用到CONCAT()函数,用来把字符串串接起来。别的,大家还用到从前学到的AS给结荚列'CONCAT(f_name, " ", l_name)'起了个字母。

四.伍 当前选拔的数据库

命令:mysql> select database();
MySQL中SELECT命令类似于任何编制程序语言里的print可能write,你能够用它来体现二个字符串、数字、数学表明式的结果等等。怎么着选拔MySQL中SELECT命令的例外功效?
1.显示MYSQL的版本 mysql> select version();  -----------------------   | version()             |  -----------------------   | 6.0.4-alpha-community |  -----------------------   1 row in set (0.02 sec) 
二. 来伏贴前岁月 mysql> select now();  ---------------------   | now()               |  ---------------------   | 2009-09-15 22:35:32 |  ---------------------   1 row in set (0.04 sec) 
三. 出示年月日 SELECT DAYOFMONTH(CURRENT_DATE);  --------------------------   | DAYOFMONTH(CURRENT_DATE) |  --------------------------   |                       15 |  --------------------------   1 row in set (0.01 sec)     SELECT MONTH(CURRENT_DATE);  ---------------------   | MONTH(CURRENT_DATE) |  ---------------------   |                   9 |  ---------------------   1 row in set (0.00 sec)     SELECT YEAR(CURRENT_DATE);  --------------------   | YEAR(CURRENT_DATE) |  --------------------   |               2009 |  --------------------   1 row in set (0.00 sec) 
四. 显示字符串 mysql> SELECT "welecome to my blog!";  ----------------------   | welecome to my blog! |  ----------------------   | welecome to my blog! |  ----------------------   1 row in set (0.00 sec) 
五. 当总计器用 select ((4 * 4) / 10 ) 25;  ----------------------   | ((4 * 4) / 10 ) 25 |  ----------------------   |                26.60 |  ----------------------   1 row in set (0.00 sec) 
六. 串接字符串 select CONCAT(f_name, " ", l_name)  AS Name  from employee_data  where title = '马克eting Executive';  ---------------   | Name          |  ---------------   | Monica Sehgal |  | 哈尔 Simlai    |  | Joseph 埃尔文 |  ---------------   叁 rows in set (0.00 sec)  注意:这里用到CONCAT()函数,用来把字符串串接起来。其余,我们还用到以前学到的AS给结荚列'CONCAT(f_name, " ", l_name)'起了个字母。

7.一 三个建库和建表的实例一

drop database if exists school; //即便存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
    id int(3) auto_increment not null primary key,
    name char(10) not null,
    address varchar(50) default ‘深圳’,
    year date
); //建表结束

//以下为插入字段
insert into teacher values(”,’allen’,'瓜达拉哈拉一中’,'一9七六-10-十′);
insert into teacher values(”,’jack’,'艾哈迈达巴德贰中’,'197五-1二-贰3′);

只要你在mysql提醒符键入上面的一声令下也足以,但不便宜调试。
1、你能够将以上命令原样写入四个文件文件中,要是为school.sql,然后复制到c:\下,并在DOS状态进入目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:
    mysql -uroot -p密码 < c:\school.sql
万10%功,空出一行无别的展现;如有错误,会有提示。(以上命令已经调节和测试,你假使将//的注释去掉就可以使用)。

2、或许进入命令行后利用 mysql> source c:\school.sql; 也足以将school.sql文件导入数据库中。

5.一 成立数据表

命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

比如,建立1个名称为MyClass的表,

字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
id int 4 primary key auto_increment  
name char 20      
sex int 4     0
degree double 16      

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));

贰、修改密码

格式:mysqladmin -u用户名 -p旧密码 password 新密码

一、给root加个密码ab1二。
率先在DOS下进入目录mysqlbin,然后键入以下命令
    mysqladmin -u root -password ab12
注:因为起先时root未有密码,所以-p旧密码一项就能够省略了。

二、再将root的密码改为djg3四伍。
    mysqladmin -u root -p ab12 password djg345

5.三 删除数据表

命令:drop table <表名>
比方:删除表名称叫 MyClass 的表    mysql> drop table MyClass;
DROP TABLE用于撤消三个或多少个表。您必须有各样表的DROP权限。全数的表数据和表定义会被吊销,所以采纳本语句要小心!
注意:对于叁个带分区的表,DROP TABLE会永世性地收回表定义,撤除各分区,并撤销储存在这几个分区中的全数数据。DROP TABLE还会吊销与被吊销的表有关联的分区定义(.par)文件。
对与不设有的表,使用IF EXISTS用于幸免错误发生。当使用IF EXISTS时,对于种种不设有的表,会扭转1个NOTE。
REST奥迪Q伍ICT和CASCADE能够使分区更便于。近来,REST翼虎ICT和CASCADE不起成效。

伍.一 创制数据表

命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

譬如说,创立一个名称叫MyClass的表,

字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
id int 4 primary key auto_increment  
name char 20      
sex int 4     0
degree double 16      

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));

五.八 扩展字段

命令:alter table 表名 add字段 类型 其他;
比方说:在表MyClass中增加了3个字段passtest,类型为int(四),私下认可值为0
   mysql> alter table MyClass add passtest int(4) default '0'

加索引
   mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table employee add index emp_name (name);

加主关键字的目录
  mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table employee add primary key(id);

加唯1限制条件的目录
   mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);

去除某些索引
   mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;

追加字段:
mysql> ALTER TABLE table_name ADD field_name field_type;

修改原字段名称及项目:
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

去除字段:
MySQL ALTER TABLE table_name DROP field_name;

3、扩展新用户

专注:和地方不一致,下边包车型地铁因为是MYSQL意况中的命令,所以往边都带3个子公司作为命令结束符

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

一、扩大二个用户test一密码为abc,让他得以在别的主机上登陆,并对负有数据库有询问、插入、修改、删除的权柄。首先用root用户连入MYSQL,然后键入以下命令:
    grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

但净增的用户是相当险恶的,你想如某些人掌握test一的密码,那么她就足以在internet上的别样一台Computer上登陆你的mysql数据库并对你的数量可感到所欲为了,解决办法见二。

二、扩张三个用户test2密码为abc,让她只可以够在localhost上登录,并得以对数据库mydb实行询问、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即选取知道test2的密码,他也无力回天从internet上一向访问数据库,只好通过MYSQL主机上的web页来访问了。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

比如您不想test贰有密码,能够再打贰个限令将密码消掉。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

 

5.玖 修改表名

命令:rename table 原表名 to 新表名;
譬如:在表MyClass名字改成为YouClass    mysql> rename table MyClass to YouClass;
当你实践 RENAME 时,你不能够有别的锁定的表或位移的专门的工作。你一样也亟须有对原初表的 ALTE库罗德 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。
要是在多表更名中,MySQL 遭遭逢其余错误,它将对具有被更名的表张开失利更名,将每件事物退回到早先时代状态。
RENAME TABLE 在 MySQL 三.二三.2三 中被投入。

5.4 表插入数据

命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

举个例子:往表 MyClass中插入二条记下, 那二条记下表示:编号为一的名字为汤姆的大成为玖6.4五, 编号为2 的名称为Joan 的战表为捌二.99, 编号为三 的名叫Wang 的实际业绩为9陆.伍。
   mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

专注:insert into每一遍只好向表中插入一条记下。

只要刚安装好MYSQL,一流用户root是从未密码的,故间接回车就可以进入到MYSQL中了,MYSQL的提示符是: mysql>

7.一 一个建库和建表的实例一

drop database if exists school; //假使存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
    id int(3) auto_increment not null primary key,
    name char(10) not null,
    address varchar(50) default ‘深圳’,
    year date
); //建表甘休

//以下为插入字段
insert into teacher values(”,’allen’,'加纳Ake拉一中’,'1979-10-十′);
insert into teacher values(”,’jack’,'罗安达2中’,'1975-1贰-二3′);

借使您在mysql提醒符键入上面的下令也得以,但不便利调节和测试。
一、你能够将上述命令原样写入2个文本文件中,倘若为school.sql,然后复制到c:\下,并在DOS状态进入目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:
    mysql -uroot -p密码 < c:\school.sql
只要成功,空出壹行无其它呈现;如有错误,会有提醒。(以上命令已经调节和测试,你一旦将//的笺注去掉就可以使用)。

二、恐怕进入命令行后利用 mysql> source c:\school.sql; 也得以将school.sql文件导入数据库中。

7.1 多少个建库和建表的实例一

drop database if exists school; //借使存在SCHOOL则删除 create database school; //建构库SCHOOL use school; //张开库SCHOOL create table teacher //创建表TEACHEKoleos (     id int(三) auto_increment not null primary key,     name char(10) not null,     address varchar(50) default ‘河内’,     year date ); //建表甘休
//以下为插入字段 insert into teacher values(”,’allen’,'明斯克一中’,'1980-十-十′); insert into teacher values(”,’jack’,'哈拉雷第22中学’,'1975-1二-二叁′);
壹旦您在mysql提醒符键入上边的指令也能够,但不便利调节和测试。 1、你可以将上述命令原样写入3个文本文件中,假如为school.sql,然后复制到c:\下,并在DOS状态进入目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:     mysql -uroot -p密码 < c:\school.sql 即使成功,空出1行无其余展现;如有错误,会有提示。(以上命令已经调节和测试,你假如将//的表明去掉就能够使用)。
二、只怕进入命令行后使用 mysql> source c:\school.sql; 也足以将school.sql文件导入数据库中。

二、修改密码

格式:mysqladmin -u用户名 -p旧密码 password 新密码

壹、给root加个密码ab12。
第二在DOS下进入目录mysqlbin,然后键入以下命令
    mysqladmin -u root -password ab12
注:因为先导时root没有密码,所以-p旧密码一项就能够轻便了。

二、再将root的密码改为djg3四5。
    mysqladmin -u root -p ab12 password djg345

五.肆 表插入数据

命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

例如说:往表 MyClass中插入二条记下, 那2条记下代表:编号为一的名叫汤姆的成绩为九陆.肆五, 编号为二 的名字为Joan 的实绩为八贰.9玖, 编号为三 的名称为Wang 的成就为玖陆.5。
   mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

小心:insert into每一次只可以向表中插入一条记下。

肆.四 连接数据库

命令: use <数据库名>

譬如说:如若xhkdb数据仓库储存在,尝试存取它:
   mysql> use xhkdb;
显示器提醒:Database changed

use 语句能够通知MySQL把db_name数据库作为暗中同意(当前)数据库使用,用于后续语句。该数据库保持为私下认可数据库,直到语段的最终,恐怕直到公布一个不等的USE语句:
   mysql> USE db1;
   mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
   mysql> USE db2;
   mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable

采用USE语句为一个特定的当前的数据库做标志,不会阻止你访问别的数据库中的表。下边包车型客车事例能够从db壹数据库访问笔者表,并从db二数据库访问编辑表:
   mysql> USE db1;
   mysql> SELECT author_name,editor_name FROM author,db2.editor
       ->        WHERE author.editor_id = db2.editor.editor_id;

USE语句被设置出来,用于与Sybase相包容。

些微网民问到,连接未来怎么退出。其实,不用退出来,use 数据库后,使用show databases就可以查询全部数据库,若是想跳到此外数据库,用
   use 其余数据库名字
就能够了。

肆.3 删除数据库

命令:drop database <数据库名> 举例:删除名字为 xhkdb的数据库 mysql> drop database xhkdb;
事例1:删除三个早就规定存在的数据库    mysql> drop database drop_database;    Query OK, 0 rows affected (0.00 sec)
事例二:删除2个不分明期存款在的数据库    mysql> drop database drop_database;    ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist       //发生错误,不可能去除'drop_database'数据库,该数据库不存在。    mysql> drop database if exists drop_database;    Query OK, 0 rows affected, 1 warning (0.00 sec)//发生一个警告表达此数据库不存在    mysql> create database drop_database;    Query OK, 1 row affected (0.00 sec)    mysql> drop database if exists drop_database;//if exists 决断数据库是不是存在,不存在也不发出错误    Query OK, 0 rows affected (0.00 sec)

三、扩展新用户

在意:和上边不相同,下边包车型大巴因为是MYSQL境况中的命令,所在此在此以前面都带一个分店作为命令甘休符

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

一、扩张3个用户test一密码为abc,让他得以在其余主机上登陆,并对具有数据库有查询、插入、修改、删除的权位。首先用root用户连入MYSQL,然后键入以下命令:
    grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

但扩充的用户是分外危险的,你想如有个别人精晓test1的密码,那么她就能够在internet上的任何①台微型计算机上登入你的mysql数据库并对你的数目可感觉所欲为了,化解办法见二。

二、扩充贰个用户test2密码为abc,让她只好够在localhost上登入,并得以对数据库mydb进行询问、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),那样用户即利用知道test二的密码,他也无力回天从internet上一向访问数据库,只可以通过MYSQL主机上的web页来访问了。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

只要您不想test2有密码,能够再打一个限令将密码消掉。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

 

版权声明:本文由ca888发布于程序人生,转载请注明出处:Mysql命令大全