MySQL 命令

完整的创建数据库例子:

>create database db_test default character set utf8 collate utf8_general_ci;

>use db_test;

>CREATE TABLE tb_user(

>id INT(10) NOT NULL AUTO_INCREMENT COMMENT"主键",

>name VARCHAR(20) NOT NULL COMMENT"姓名",

>age INT(3) DEFAULT 0,

>PRIMARY KEY(id)

>) COMMENT"用户表";


其他有关命令:

1,启动和关闭数据库

>net start mysql 

>net stop mysql 

所以命令必须是一行的第一个,并且以分号结尾:

All text commands must be first on line and end with ";" 


2,根据用户名密码,登录数据库

>mysql -uroot -p; 

如果数据库没有密码则使用

>mysql -uroot; 


3,查看在当前服务器中有多少个数据库

>show databases; 


4,删除某个数据库

>drop database databaseName; 

>commit; 


5,创建数据库

>CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

更改数据库的字符编码

ALTERDATABASEdb_nameDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;


6,选择使用某个数据库

>use databaseName; 


7,查看数据库中有多少的表

 >show tables; 


8,创建表

>create table tableName( 

 id int(10) NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),

name varchar(20)

); 


9,显示本数据库的所有表

>show tables;


10,显示某一个表

>show create table tableName;


11,显示表结构

>describe tableName;   (或者简写: desc tableName;)


12,向表中加入数据并查看

>insert into tableName(id,name...) values('1','admin',...); 

>select * from tableName; 


13,导入.sql文件(文件所在路径是F:\file.sql 

>source F:/file.sql; 


14,删除表

>drop table tableName; 


15,删除表中的所有数据,但是表结构依然存在

>delete from tableName; 


16,更新表中的数据,如果没有where,则将影响所有的记录

>update tableName set name='administrator' where id='1'; 


17,查看服务器版本和当前日期

>select version(),current_date; 

>select version(); 

 >select now(); 


18,把mysql作为一个简单的计算器

select pi(); 

>select pi()*10; 


19,查看用户

>select user(); 


20,使用load 

>load data local infile filePath into table tableName; 



一、连接MYSQL

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


1、例1:

连接到本机上的MYSQL


首先在打开DOS窗口,

然后进入目录mysqlbin,

再键入命令mysql -uroot -p,

回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 


2、例2:

连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为

abcd123。则键入以下命令: 

mysql -h110.110.110.110 -uroot -pabcd123 

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


3、退出MYSQL命令: exit (回车) 



二、修改密码。

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


1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令

 mysqladmin -uroot -password ab12 

注:

因为开始时root没有密码,所以-p旧密码一项就可以省略了。


2、例2:再将root的密码改为djg345。

 mysqladmin -uroot -pab12 password djg345 




三、增加新用户。

(注意:

和上面不同,下面的因为是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 \"\"; 



在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。

注意:

你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下




alter命令

alter add命令用来增加表的字段。

alter add命令格式:alter table 表名 add字段 类型 其他;

例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:

mysql> alter table MyClass add passtest int(4) default '0';

添加两个字段:   mysql> alter table Personadd ageint,add addressvarchar(11); 

删除两个字段:   mysql> alter table Person drop column age,drop column address;

修改字段的注释:  mysql> ALTER TABLE `student` MODIFY COLUMN `id` COMMENT '学号';


1) 加索引

mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

例子: mysql> alter table employee add index emp_name (name);

2) 加主关键字的索引

mysql> alter table 表名 add primary key (字段名);

例子: mysql> alter table employee add primary key(id);

3) 加唯一限制条件的索引

mysql> alter table 表名 add unique 索引名 (字段名);

例子: mysql> alter table employee add unique emp_name2(cardnumber);

4) 删除某个索引

mysql> alter table 表名 drop index 索引名;

例子: mysql>alter table employee drop index emp_name;

5) 增加字段

mysql> ALTER TABLE table_name ADD field_name field_type;

6) 修改原字段名称及类型

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

7) 删除字段

MySQL ALTER TABLE table_name DROP field_name;



MySQL添加用户、删除用户与授权

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

1.新建用户

  1.1 登录MYSQL

  @>mysql -u root -p

@>密码

  1.2 创建用户:

mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

这样就创建了一个名为:test 密码为:1234 的用户。

注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

  1.3 然后登录一下:

  mysql>exit;

  @>mysql -u test -p

@>输入密码

mysql>登录成功


2.为用户授权

授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";

  2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

  @>mysql -u root -p

@>密码

  2.2 首先为用户创建一个数据库(testDB)

  mysql>create database testDB;

  2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):

   mysql>grant all privileges on testDB.* to test@localhost identified by '1234';

mysql>flush privileges;//刷新系统权限表

格式:grant权限 on 数据库.* to 用户名@登录主机 identified by "密码";

  2.4 如果想指定部分权限给一用户,可以这样来写:

  mysql>grant select,update on testDB.* to test@localhost identified by '1234';

mysql>flush privileges; //刷新系统权限表

  2.5 授权test用户拥有所有数据库的某些权限:   

mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

//test用户对所有数据库都有select,delete,update,create,drop 权限。

 //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

//对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。


3. 删除用户

  @>mysql -u root -p

@>密码

  mysql>Delete FROM user Where User='test' and Host='localhost';

  mysql>flush privileges;

mysql>drop database testDB; //删除用户的数据库

删除账户及权限:>drop user 用户名@'%';

>drop user 用户名@ localhost; 


4. 修改指定用户密码

   @>mysql -u root -p

 @>密码

mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";

   mysql>flush privileges;


5. 列出所有数据库

  mysql>show database;


6. 切换数据库

mysql>use '数据库名';


7. 列出所有表

  mysql>show tables;


8. 显示数据表结构

mysql>describe 表名;


9. 删除数据库和数据表

mysql>drop database 数据库名;

mysql>drop table 数据表名;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • MySQL 数据库常用命令 1、MySQL常用命令 create database name; 创建数据库 use...
    55lover阅读 4,696评论 1 57
  • 你好,我是showhand,什么是否定性思维呢?就是看见一件事情,没有对事情进行了解就直接否定的一种思考方式。大多...
    showhand阅读 706评论 0 0
  • 穷困像是大冬天穿单衣站在风口,一刻也难耐。穷酸则是有一件棉衣,只不过袖子不够长,或是在醒目的地方打了个补丁...
    一枝迷糊梅阅读 234评论 2 2