【Conclusion】MySQL使用
MySQL使用
因为数据库实验用到了MySQL,这里对现在已经涉及到的MySQL部分操作做一个简单的小结。
1、安装MySQL
上MySQL的官网下载对应自己OS平台的MySQL安装文件,有在线安装和离线安装包两种,由于服务器在国外,如果网络不是太好的话推荐选择离线安装包。

安装的话就不说了,网上教程一大把,个人PC的话,一般选择开发者模式安装就好了。这里主要说一下安装后的配置(虽然网上也有很多,但是自己做个总结免得每次都去找)。
机器环境:
OS: Windows 10(1703) 64bi
第一步:就是配置MySQL的默认字符编码,新版的MySQL的配置文件my.ini不在安装目录下了,而是在“C:\ProgramData\MySQL\MySQL Server 5.7”下,当然这是在我的机器上(我是以默认目录安装的)。
- 首先要做的就是备份配置文件咯,万一一不小心弄错了配置,MySQL服务启动不起来,又不知道怎么改回去,那岂不是很麻烦(虽然有官方文档嘛,但是那么又臭又长的英文我可不想花大量时间去查)。
- 备份好原来的配置文件后,用记事本打开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下的配置因为没时间也没有去捣鼓,估计配置方式也差不多,不同的在于配置文件的存放位置。
2、MySQL使用
登录:mysql -uroot -p
回车后会提示你输入密码,正确输入密码后回车就可以登录了。建议不要在-p参数后面直接写上密码,因为这里是明文显示的。
退出:exit;或quit;或\q;
注意:每个MySQL的命令后面都以英文分号(;)结束。
查看数据库:
show databases;
选择(切换)数据库:
use [数据库名];
查看数据表:
show tables;
描述表结构:
describe `表名`;
创建数据库:
create database `database-name`;
创建表:
create table `table-name`(
`column-name`, [data-type], [(表级)完整性约束条件],
.
.
.
[表级完整性约束条件]
);
如果完整性约束条件涉及多个属性列,则必须定义在表级完整性上,否则既可以定义在列级,也可以定义在表级。
插入记录(元组):
insert into `表名` values(属性1的值,属性2的值,...,属性n的值);
insert into `表名`(属性1,属性2,...,属性x) values(属性1的值,属性2的值,...,属性x的值);
导入sql文件:
source [文件路径];
查看表内容:
select * from `表名`;(查看所有内容)
select * from `表名` limit n;(仅查看前n条记录)
更新表:
ALTER TABLE <表名>
[CHANGE COLUMN <列名> <列名> <数据类型> [<列级完整性约束条件>] ,][ADD COLUMN <列名> <数据类型> [<列级完整性约束条件>] ,]
[ADD <表级完整性约束条件>,][DROP COLUMN <列名>,]
[DROP <完整性约束条件>]
删除数据库:
drop database `数据库名`;
删除表:
drop table `表名`;
重命名表:
rename table `old-table-name` to `new-table-name`;
3、其他
- 在做实验的时候经常出现"ERROR 1064 (42000)"这个语法错误,上网查了以下,原来是因为可能在SQL语句或者MySQL命令中使用了MySQL中的保留字,从而引发的语法错误,在这种情况下,应将保留字使用符号
包含,避免SQL语句的解析出错。因此,在书写SQL语句时,应尽量将所定义变量(如数据库名字,表名等)使用符号包含。 查看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必知必会。
【Conclusion】MySQL使用的更多相关文章
- About using UTF-8 fields in MySQL
https://www.adayinthelifeof.nl/2010/12/04/about-using-utf-8-fields-in-mysql/ I sometimes hear: “make ...
- Day 2: ASP.NET and python trying
ASP.NET and Python/Javascript Many jQuery plugins that are designed and shared for free on the inter ...
- 【Conclusion】MySQL的安装和使用
MySQL使用 因为数据库实验用到了MySQL,这里对现在已经涉及到的MySQL部分操作做一个简单的小结. 1.安装MySQL 上MySQL的官网下载对应自己OS平台的MySQL安装文件,有在线安装和 ...
- How to create/restore a slave using GTID replication in MySQL 5.6
MySQL 5.6 is GA! Now we have new things to play with and in my personal opinion the most interesting ...
- An Introduction to Stored Procedures in MySQL 5
https://code.tutsplus.com/articles/an-introduction-to-stored-procedures-in-mysql-5--net-17843 MySQL ...
- Cursors in MySQL Stored Procedures
https://www.sitepoint.com/cursors-mysql-stored-procedures/ After my previous article on Stored Proce ...
- Percona 开始尝试基于Ceph做上层感知的分布式 MySQL 集群,使用 Ceph 提供的快照,备份和 HA 功能来解决分布式数据库的底层存储问题
本文由 Ceph 中国社区 -QiYu 翻译 英文出处:Using Ceph with MySQL 欢迎加入CCTG Over the last year, the Ceph world drew m ...
- Understanding mysql max_connect_errors
来自:http://mysqlblog.fivefarmers.com/2013/08/08/understanding-max_connect_errors/ Perhaps like many u ...
- MySQL 5.5: InnoDB Change Buffering
To speed up bulk loading of data, InnoDB implements an insert buffer, a special index in the InnoDB ...
随机推荐
- 【BZOJ3262】陌上花开 (CDQ分治+树状数组+排序)
Time Limit: 3000 ms Memory Limit: 256 MB Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),用三个整数表示. 现要对每 ...
- 从零构建一个react+webpack+typescript的应用
今天要完成在windows下从零开始构建一个react应用的任务 首先,新建一个文件夹,然后在该文件夹下使用命令npm init 初始化一个node项目. 然后安装所需依赖, npm i react ...
- linux shell 之在线文本编辑sed
sed命令 文件编辑 sed是一种文本编辑命令,通过终端读取文件数据到缓冲区,然后通过sed编辑文本,在输出到指定的文件,sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用 ...
- Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages
从总体上看:akka-stream是由数据源头Source,流通节点Flow和数据流终点Sink三个框架性的流构件(stream components)组成的.这其中:Source和Sink是stre ...
- JAVA实用案例之邮件发送
最近有朋友问邮件怎么发送,就简单写了个demo,因为懒得找jar包,所以项目是创建的maven工程,具体的maven引用的jar如下: <dependency> <groupId&g ...
- 编译make的出错提示解决方案
编译出错笔记:start.s:20: Error: no such instruction: `ldr r0,=WTCON' 错误:没有这样的指令 解决:编译文件后缀名必须为大写S,改为start.S ...
- YYHS-NOIP2017SummerTraining0914-问题 A: 组合数问题
题目描述 组合数C(n,m)表示的是从n个物品中选出m个物品的方案数.举个例子,从(1, 2, 3)三个物品中选择两个物品可以有(1, 2),(1, 3),(2, 3)这三种选择方法.根据组合数的定义 ...
- 团队作业3--需求改进&系统设计
小学生四则运算练习软件APP 一.需求&原型改进 1.给目标用户展现原型,与目标用户进一步沟通理解需求 我们的主要目标用户是小学生,次要目标用户是小学教师 场景一:小明一个三年级的学生,放学回 ...
- 如何让eclipse在程序修改后,点击运行可以自动保存。
preferences>run/debug>launching里面save required dirty editors before launching选always就自动保存咯选pro ...
- Swing-setOpaque()用法-入门
先看API: public void setOpaque(boolean isOpaque) 如果为 true,则该组件绘制其边界内的所有像素.否则该组件可能不绘制部分或所有像素,从而允许其底层像素透 ...