|
MySQL介绍
MySQL软件构建的是关系型数据库。关系型数据库是基于二维表存储数据的数据库,这是相对于非关系型数据库来说的。MySQL安装及连接如下:
MySQL安装:阿里云Ubuntu安装MySQL - 面向新手傻瓜式教程
MySQL连接:如果是先用ssh连接的远程服务器,再登录MySQL,使用MySQL命令就行了。如果是不登录服务器,只登录MySQL,比如使用datagrip软件进行连接,那么需要修改MySQL的配置文件,使得mysql可以任意IP连接。将/etc/mysql/mysql.conf.d/mysqld.cnf中的bind-address一行注释掉:
# bind-address = 127.0.0.1 # 这一行在文件中注释掉 修改之后重启并检查
/etc/init.d/mysql restart
netstat -an | grep 3306输出:
tcp6 0 0 :::3306 :::* LISTEN参考原文:DataGrip远程连接服务器MySQL
MySQL命令
SQL是一个语言,可以定义数据库对象,对数据库中数据增删改,查询数据库,控制数据库(用户于数据库权限相关)。四种功能的语法分别被称为DDL, DML, DQL, DCL(这个知道这么细没屁用,实际操作没人关心回字有几种写法)。为了一篇文章不写太多,本文只写DDL部分(Data Definition Language),数据定义语言,主要是数据库层级的操作。
MySQL语句中的关键字不区分大小写(我为了方便用小写),也无视缩进,语句以;结尾,单行和多行注释分别使用#、/* */。
数据库操作
# 查询数据库
show databases;
#创建数据库(字符集常用的有utf8mb4)
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则] ;
# 使用数据库
use 数据库名;
# 查看目前所在数据库
select database();
# 删除数据库
drop database [if exists] 数据库名;表结构(表字段)操作
# 查询当前数据库所有表
show tables;
# 查看指定表结构,即查看字段(或表头)信息
desc 表名;
# 查询表的建表语句
show create table 表名;
# 创建表。字段类型有讲究,可以自行查询
create table 表名(
字段1 类型 [约束] [comment 注释],
字段2 类型 [约束] [comment 注释],
字段n 类型 [约束] [comment 注释]
) [comment 表注释];
# 删除表
drop table [if exists] 表名;
# 表修改
alter table 旧表名 rename to 新表名; # 修改表名
alter table 表名 add 字段名 类型(长度) [COMMENT 注释] [约束];# 添加字段
alter table 表名 modify 字段名 新数据类型(长度); # 修改字段数据类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束]; # 修改字段名和字段类型
alter table 表名 drop 字段名; # 删除字段可能的报错及修改
show databases出现报错:
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist但是查询一下用户列表又会发现这个用户明明存在:
select user,host from mysql.user;不知道为什么,反正我是这么修改好的:删除原来的,并且创建一个新的同名用户,host修改为%。
create user 'mysql.infoschema'@'%' identified by '12345678';
drop user 'mysql.infoschema'@'localhost';
grant all privileges on *.* to 'mysql.infoschema'@'%';
flush privileges;具体原因未知,反正改好了,我也不管那么多了。 |
|