【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 ...
随机推荐
- 【Spring 核心】装配Bean(一) 自动化装配
Spring从两个角度实现自动化装配:组件扫描 (Spring自动发现应用上下文中所创建的bean)自动装配(autowiring)自动满足bean之间的依赖 组件扫描: package test.s ...
- C语言 入门程序
#include "stdio.h" #include "stdlib.h" #include "string.h" #define MAX ...
- 【渗透笔记】利用逻辑漏洞批量拿GOV EDU
前言: 这个Oday是以前就有的,不过都没有人出过详细的使用教程,昨天帮群里某学院拿了他们的学校之后突然想起来这个Oday,而且实用性还很强,所以我就想分享到这里来了 关键字:inurl:sitese ...
- matplotlib 出图示例
如果你想要在Linxu中获得一个高效.自动化.高质量的科学画图的解决方案,应该考虑尝试下matplotlib库.Matplotlib是基于python的开源科学测绘包,基于python软件基金会许可证 ...
- [Spring面试] 问题整理
1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC:Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spri ...
- 《Java从入门到放弃》JavaSE入门篇:面向对象语法二(入门版)
想了半天,发现单独的封装和多态没什么好讲的,我们就简单说说Java里面对应的语法吧. 相关内容如下: 一.访问修饰符 二.getter/setter方法 三.构造方法 四.super和this 五.s ...
- [iOS] file patterns: The `public_header_files` pattern did not match any file.
由于之前集成私有pod,遇到问题, 默认的头文件目录设置为:s.public_header_files = ‘Pod/Classes/**/*.h’:但是如果Classes目录中,你的代码文件夹层次结 ...
- 团队作业4——第一次项目冲刺(Alpha版本)4.26
一.当天站立式会议照片 本次会议主要内容:汇报工作进度,根据完成情况调整进度,分配各自接口编写任务. 二.每个人的工作 三.燃尽图 横坐标:工作日,以天为单位,一共七天,代表着Alpha冲刺阶段的时间 ...
- 团队作业8——Beta 阶段冲刺2rd day
一.今日站立式会议照片 二.每个人的工作 (1) 昨天已完成的工作: 今天是冲刺阶段的第二天,冲刺第一天我们完成了对于前端界面的改进与完善工作. (2) 今天计划完成的工作: 成员 昨天已完成的工作 ...
- 团队作业4---第一次项目冲刺(ALpha)版本 第七天
一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 a.完成所有基础功能 b.正在进行测试调试 四.困难与问题 1.随着测试出现了大大小小的一些BUG,但是由于原来写的时候思维定 ...