Mysql常用命令之玩转Mysql

数据库连接常用命令

mysql -uroot -proot  -- 登录数据库
UPDATE mysql.user set authentication_string = PASSWORD ("root") WHERE User = "root" and Host="localhost";  -- 修改数据库权限
show databases;  -- 显示所有的数据库
show tables; -- 显示所有的数据表
describe student;  -- 显示数据表的设计结构
create database westos; -- 创建数据库
exit -- 退出mysql连接
-- 单行注释 
/* 多行注释 */

修改数据库远程连接

  • MySQL Community Edition(GPL)

在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。缺省状态下,mysql的用户是没有远程访问的权限。

下面介绍两种方法,解决这一用户远程访问的权限问题。

1、改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"

mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2、授权法

在安装mysql的机器上运行mysql的客户端 :MySQL 8.0 Command Line Client :

1、mysql> use mysql;

//这样应该可以进入MySQL服务器

2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

//赋予任何主机访问数据的权限

例如,你想 root 使用 password 从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

例如:如果你想允许用户myuser从ip为192.168.1.1的主机连接到mysql服务器,并使用password作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.1' IDENTIFIED BY 'password' WITH GRANT OPTION;

3、mysql>FLUSH PRIVILEGES;

//修改生效

4、mysql>EXIT

退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录

MySQL Community Server (GPL)

授权法

在安装mysql的机器上运行mysql的客户端 :MySQL 8.0 Command Line Client

1、mysql> use mysql;

//这样应该可以进入MySQL服务器

2、mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

//% 表示 赋予任何主机访问数据的权限,例如,你想 root 使用 password  从任何主机连接到mysql服务器的话,如果想使用指定的IP来连接mysql的话,只需要把%改成对应的ip即可。

3、mysql> ALTER USER 'root'@'%' IDENTIFIED with mysql_native_password by '123456';

4、mysql> ALTER USER 'root'@'%' IDENTIFIED with mysql_native_password by '123456';

5、mysql> flush privileges;

6、mysql>EXIT

退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录

操作数据库

-- 创建数据库
CREATE DATABASE demo2;  
CREATE DATABASE IF NOT EXISTS demo2;
-- 创建数据库,并设置字符编码utf8,默认是latin1(不支持中文)
create database if not exists `school` character set utf8 collate utf8_general_ci;

-- 删除数据库
DROP DATABASE demo2;
DROP DATABASE IF EXISTS demo2

-- 如果表名或者字段名是一个特殊的字符,就必须带`,建议表明和字段就使用,避免出现歧义
USE `school`;

-- 查看所有数据库
show databases; 

数据表

-- 创建数据表student
-- 字段名 数据类型 [属性] [索引] [注释]
-- AUTO_INCREMENT 自增长
create table if not exists `student`(
 `id` int not null auto_increment comment '唯一标识',
 `name` varchar(30) not null default '匿名' comment '姓名',
 `sex` varchar(2) not null default '女' comment '性别',
 `pwd` varchar(20) not null default '123456' comment '密码',
 `birthday` datetime default null comment '出生日期',
 `address` varchar(50) default null comment '家住地址',
 `email` varchar(20) default null  comment '电子邮箱',
 primary key(`id`)
)engine=innodb default charset=utf8

记忆技巧:

-- 固定格式
create TABLE IF NOT EXISTS `表名`(
 `字段` 字段类型 [属性] [索引] [注释],
 `字段` 字段类型 [属性] [索引] [注释],
 ...
 `字段` 字段类型 [属性] [索引] [注释],
 primary key(`字段名`)
)engine=innodb default`student` charset=utf8

查找常用操作的sql语句(SqlYog)

show create database school;  -- 查看创建数据库的sql语句
Database	Create Database
school	CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET utf8 */
show create table student;  -- 查看创建表的sql语句
DESC student;  -- 查看表结构

猜你喜欢

转载自blog.csdn.net/weixin_47088026/article/details/110247985
今日推荐