MySQL:使用命令提示符来操作数据库

启动mysql服务:

net start mysql +数据库名称

 

停止mysql服务:

net stop mysql +数据库名称


登陆数据库:

mysql -u用户名 -p密码 -h 远程数据库IP地址或主机名 -P 端口 -D 数据库名(其中密码、端口、数据路名为可选)

说明:
1、用户名是你登录的用户,主机名或者IP地址为可选项,如果是本地连接则不需要
如:mysql -u root -h localhost -p (u指用户名->root,h指主机名->localhost)

2、远程连接需要填写,密码是对应用户的密码
如:mysql -u root -p 123456 -h 192.168.17.108 -P 3306

 

增加新用户 :

grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码” 

如增加一个ip为192.168.1.3的主机连接到mysql服务器:

mysql > GRANT ALL PRIVILEGES ON *.* TO "myuser"@"192.168.1.3" IDENTIFIED BY "mypassworld" WITH GRANT OPTION;
mysql > FLUSH PRIVILEGES

如增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:

grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。

 

进入数据库:

1、mYSQL中可以存在多个数据库,因此在使用时需要确定当前操作的是的哪一个数据库

mysql> use zhouh
Database changed
mysql>

 

显示数据库列表:

show databases;
返回值:返回所有数据库的名称

例1:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_sql_demo        |
| mysql              |
| performance_schema |
| sakila             |
| test               |
| world              |
| yiibaidb           |
+--------------------+
8 rows in set (0.00 sec)

 

显示库中的表:

use mysql;
show tables;

返回值:返回指定数据库中的所有表名

例2:

mysql> use my_sql_demo;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_my_sql_demo |
+-----------------------+
| gold                  |
| roleinfo              |
| userinfo              |
+-----------------------+
3 rows in set (0.00 sec)

 

显示数据表的结构:

describe 表名;  或desc 表名;  或show columns from 表名;

返回值:返回对应表的数据结构

例3:

mysql> use my_sql_demo;
Database changed

mysql> show columns from gold;
+--------+------------+------+-----+---------+-------+
| Field  | Type       | Null | Key | Default | Extra |
+--------+------------+------+-----+---------+-------+
| roleId | bigint(8)  | NO   | PRI | NULL    |       |
| userId | bigint(20) | YES  |     | NULL    |       |
+--------+------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

mysql> describe gold;
+--------+------------+------+-----+---------+-------+
| Field  | Type       | Null | Key | Default | Extra |
+--------+------------+------+-----+---------+-------+
| roleId | bigint(8)  | NO   | PRI | NULL    |       |
| userId | bigint(20) | YES  |     | NULL    |       |
+--------+------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

 

查询表的数据:

select * from  表名;

返回值:返回对应表中的数据

例4: 

mysql> select * from gold;
+---------------------+---------------------+
| roleId              | userId              |
+---------------------+---------------------+
| 5529676068169717607 | 5529676068171749498 |
+---------------------+---------------------+
1 row in set (0.00 sec)

 

清空表中记录:

delete from 表名;

 

建库与删库:

create database 库名;
drop database 库名;

例4:

mysql> create database mydemo;
Query OK, 1 row affected (0.00 sec)

mysql> drop database mydemo;
Query OK, 0 rows affected (0.00 sec)

 

建表:

use 库名;
create table 表名(字段列表);
drop table 表名;

因为建表涉及到数据类型因此不建议通过此方法建表

 

修改数据表:

1、alter table 表名 add 字段名 类型;                 (加的列在表的最后面)
2、alter table 表名 add 字段名 类型  after 列名;      (把新列加在某列后面)
3、alter table 表名 add 字段名 类型  first;          (把新列加在最前面)
mysql>  alter table roleinfo add age int(8);
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc roleinfo;
+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| roleId         | bigint(8)    | NO   | PRI | NULL    |       |
| userId         | bigint(8)    | NO   | MUL | NULL    |       |
| funcelUUid     | varchar(128) | NO   | MUL | NULL    |       |
| platformName   | varchar(64)  | NO   |     | NULL    |       |
| channelName    | varchar(64)  | NO   |     | NULL    |       |
| roleName       | varchar(64)  | NO   | MUL | NULL    |       |
| level          | int(4)       | NO   |     | 0       |       |
| career         | tinyint(1)   | NO   |     | 0       |       |
| sex            | tinyint(1)   | NO   |     | 0       |       |
| camp           | tinyint(1)   | NO   |     | 0       |       |
| lastOffTime    | int(4)       | NO   |     | 0       |       |
| mapDataId      | int(4)       | NO   |     | 0       |       |
| oldMapDataId   | int(4)       | NO   |     | 0       |       |
| appearance     | varchar(512) | YES  |     | NULL    |       |
| roledata       | longtext     | YES  |     | NULL    |       |
| createServerId | int(4)       | NO   |     | 0       |       |
| createTime     | int(4)       | NO   |     | 0       |       |
| deleteTime     | int(4)       | NO   |     | 0       |       |
| changename     | tinyint(1)   | NO   |     | 0       |       |
| age            | int(8)       | YES  |     | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
20 rows in set (0.01 sec)

 

修改数据:

update user set name=新值 where

例5: 

mysql> update roleinfo set age=8 where roleID = 5529676068169717607
    -> ;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

注:where语句值为了确定我们修改的是哪一行,没有where语句时,会更新表中的每一行

 

设置编码:


set names utf8


导出数据库数据:

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录。如我输入的命令行:cd D:\Program Files\MySQL\MySQL Server 5.5\bin

2、导出数据库:用户名 -p 密码 数据库名 > 导出的文件名 
如:mysqldump -u root -p123456 my_sql_demo >a.sql

3、mysql导出数据库一个表:mysqldump -u 用户名 -p 密码 数据库名 表名> 导出的文件名
如:mysqldump -u root -p123456 my_sql_demo roleinfo >a.sql (结尾没有分号)

4、会看到文件news.sql自动生成到bin文件下  

 

创建一个数据库:

mysql> CREATE DATABASE MYSQLDATA;

 

选择你所创建的数据库:

mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)

 


导入sql文件命令:(例如D:/mysql.sql)

mysql>use database;
mysql>source d:/mysql.sql;


删除表:

删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。

mysql>drop table MYTABLE;

 

清空表:

delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存

mysql>delete from MYTABLE;

 

重命名表名 :

例如,在表MyClass名字更改为YouClass:

mysql> rename table MyClass to YouClass;

 

修改字段名称及属性:

mysql> alter table test change t_name t_name_new varchar(20);



数据库权限和安全  : 

 修改密码:需要输入root密码确认,才能修改为mypasswd

mysqladmin -u root -p password mypasswd

 

 备注:

1、命令输入在mysql> 之后

2、命令用分号( ; )或\g结束,也就是若只是按Enter键是不会执行命令的

3、输入help或\h获得帮助,也可以在后面跟上参数以获得特定的命令帮助(如:help select获得select语句的帮助)

4、输入quit或exit退出命令行实用程序

5、必须使用USE 数据库名命令来打开数据库,才是进一步的获取里面的数据 

  • 6
    点赞
  • 39
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:创作都市 设计师:CSDN官方博客 返回首页
评论

打赏作者

不怕猫的耗子A

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值