【Conclusion】MySQL的安装和使用

MySQL使用

由于数据库实验用到了MySQL,这里对如今已经涉及到的MySQL部分操做作一个简单的小结。mysql

一、安装MySQL

MySQL的官网下载对应本身OS平台的MySQL安装文件,有在线安装和离线安装包两种,因为服务器在国外,若是网络不是太好的话推荐选择离线安装包。

安装的话就不说了,网上教程一大把,我的PC的话,通常选择开发者模式安装就行了。这里主要说一下安装后的配置,给本身作个记录(虽然网上也有不少,可是本身作个总结省得每次都去找)。linux

机器环境:
OS: Windows 10(1703) 64bit

第一步:就是配置MySQL的默认字符编码,新版的MySQL的配置文件my.ini不在安装目录下了,而是在“C:\ProgramData\MySQL\MySQL Server 5.7”下,固然这是在个人机器上(我是以默认目录安装的)。sql

  1. 首先要作的就是备份配置文件咯,万一一不当心弄错了配置,MySQL服务启动不起来,又不知道怎么改回去,那岂不是很麻烦(虽然有官方文档嘛,可是那么又臭又长的英文我可不想花大量时间去查)。
  2. 备份好原来的配置文件后,用记事本打开my.ini,按以下所示添加相应的语句:
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
character-set-sever=utf8

第二步:修改数据库存放位置。一样在my.ini下找到[mysqld],而后在这个下方找到basedir和datadir两个选项,其中basedir是你的MySQL的安装位置,datadir就是MySQL的数据库的存放位置了。
若是你使用完整的安装文件安装,切记不要改动basedir,不然你的MySQL服务启动不起来的。固然若是是免安装版,就根据你的实际安装位置更改了。
你能够将数据库的存放位置放到任何你喜欢的位置,而后修改datadir为你肯定的目录便可:数据库

datadir="D:/DevelWorks/MySQL/Data/"

说实话这里有个恼火的地方就是在Windows的环境下有时会由于路径分隔符(/或\)的不一样致使服务启动失败,这个本身多试几回,不一样的环境有多是“/”也有多是“\”。

通常来讲配置这两个就差很少了,若是须要其余配置,看看官方文档就行了。
在Windows下启动MySQL:服务器

以管理员身份打开命令提示符:
# net start MySQL57    启动服务
# net stop MySQL57     关闭服务

至于linux下的配置由于没时间也没有去捣鼓,估计配置方式也差很少,不一样的在于配置文件的存放位置。网络

二、MySQL使用

登陆:mysql -uroot -p
回车后会提示你输入密码,正确输入密码后回车就能够登陆了。建议不要在-p参数后面直接写上密码,由于这里是明文显示的。ui

退出:exit;或quit;或\q;编码

注意:每一个MySQL的命令后面都以英文分号(;)结束。code

查看数据库:
show databases;orm

选择(切换)数据库:
use [数据库名];

查看数据表:
show tables;

描述表结构:
describe `表名`;
或:show columns from `表名`;

建立数据库:
create database `database-name`;

删除数据库:
drop database `数据库名`;

建立表:
create table `table-name`(
`column-name`, [data-type], [(表级)完整性约束条件],
.
.
.
[表级完整性约束条件]
);
若是完整性约束条件涉及多个属性列,则必须定义在表级完整性上,不然既能够定义在列级,也能够定义在表级。

删除表:
drop table `表名`;

插入记录(元组):
insert into `表名` values(属性1的值,属性2的值,...,属性n的值);
insert into `表名`(属性1,属性2,...,属性x) values(属性1的值,属性2的值,...,属性x的值);

导入sql文件:
source [文件路径];

查看表内容:
select * from `表名`;(查看全部内容)
select * from `表名` limit n;(仅查看前n条记录)
select `属性1`, `属性2`, ..., `属性n` from `表名`;(查看指定属性列的内容)

更新表:
ALTER TABLE <表名>
[CHANGE COLUMN <列名> <列名> <数据类型> [ <列级完整性约束条件> ] ,]
[ADD COLUMN <列名> <数据类型> [ <列级完整性约束条件> ] ,]
[ADD <表级完整性约束条件> ,]
[DROP COLUMN <列名> ,]
[DROP <完整性约束条件> ]

重命名表:
rename table `old-table-name` to `new-table-name`;

三、其余

  1. 在作实验的时候有时出现"ERROR 1064 (42000)"这个语法错误,上网查了如下,原来是由于可能在SQL语句或者MySQL命令中使用了MySQL中的保留字,从而引起的语法错误,在这种状况下,应将保留字使用符号包含,避免SQL语句的解析出错。所以,在书写SQL语句时,应尽可能将所定义变量(如数据库名字,表名等)使用符号包含。

  2. 查看MySQL数据库中每一个表的占用空间:
    在MySQL中的information_schema数据库中有一个TABLES表,这个表的主要字段分别是:
TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
--
SQL:
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名';

【参考】MySQL必知必会。


本文由博主创做和发表,转载请注明做者及出处!

powered by exRunner If you forward it, please specify the author and source.

相关文章
相关标签/搜索