MySQL基础

进入数据库


启动

进入安装路径后
net start mysql

 后来再次启动一直会出现如下错误:

The MySQL service is starting..
The MySQL service could not be started.
The service did not report an error.
More help is available by typing NET HELPMSG 3534.

试过删除安装目录下data文件夹后重新初始化的方法,仍然无法解决,但好像不妨碍登录数据。

 

连接

mysql -u root -p
输入密码后开始进入mysql环境,代码段以分号或\g结尾。
例如,查看数据库
show databases;

 

导入外部数据库

用yibaidb示例。
首先需要创建与要导入的数据库同名的数据库:
mysql> CREATE DATABASE IF NOT EXISTS yiibaidb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> use yiibaidb;
mysql> source  C:/Users/57021/Desktop/for mysql/yiibaidb.sql;

导入完成。

 

查看数据库


查看数据库

show databases;

进入后会显示当前连接下的数据库:

 MySQL基础_第1张图片

 

进入数据库

mysql> use yiibaidb;

 

 查看表

mysql> show tables;

MySQL基础_第2张图片

 

查看表结构

mysql> describe customers;

MySQL基础_第3张图片

 返回表的列名,列的数据类型,是否存在空值,主键,默认值和额外信息。

其中主键一列的MUL表示customerNumber和salesRepEmployeeNumber形成复合主键。

 

查看表索引:

mysql> show index from user;

 

查询语句


查询语句由以下部分构成

SELECT语句由以下列表中所述的几个子句组成:

  • SELECT之后是逗号分隔列或星号(*)的列表,表示要返回所有列。
  • FROM指定要查询数据的表或视图。
  • JOIN根据某些连接条件从其他表中获取数据。
  • WHERE过滤结果集中的行。
  • GROUP BY将一组行组合成小分组,并对每个小分组应用聚合函数。
  • HAVING过滤器基于GROUP BY子句定义的小分组。
  • ORDER BY指定用于排序的列的列表。
  • LIMIT限制返回行的数量。

其中SELECTFROM是必须的,其他可选。

//原文出自【易百教程】,转自:https://www.yiibai.com/mysql/select-statement-query-data.html
SELECT 
    column_1, column_2, ...
FROM
    table_1
[INNER | LEFT |RIGHT] JOIN table_2 ON conditions
WHERE
    conditions
GROUP BY column_1
HAVING group_conditions
ORDER BY column_1
LIMIT offset, length;

 

 远程连接数据库


例如:连接远程 数据库(192.168.5.116),端口“3306”,用户名为“root”,数据库"123",密码“123456”
mysql -h 192.168.5.116 -P 3306 -u root -p 123

输入密码就可以连接成功了。

 

用户管理


添加用户

mysql> create user 'username'@'%' identified by 'password'; 
#username 替换成用户名,% 替换host,password 替换密码

 

授予权限

常用的权限有select,update,insert等。

下面将对mysql库中的user表select,update的权限授予刚刚创建的guest1:

grant update, select on mysql.user to 'guest1'@'localhost';

授予全部权限:

mysql> grant all on *.* to 'guest1'@'localhost';

查看一个用户的全部权限:

mysql> show grants for 'guest1'@'localhost';

撤销一个用户的全部权限:

mysql> revoke all on *.* from 'guest1'@'localhost';
#all可以替换成其他具体的权限,*.*可换成database.table

授权后必须使用户生效:

mysql> flush privileges;

 

修改密码

mysql> set password for 'guest1'@'localhost'=password('123');

 

删除用户

mysql> drop user guest1@'localhost';

 

你可能感兴趣的:(MySQL基础)