【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 ...
随机推荐
- linux命令后台执行
fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh &am ...
- 8.13.2 TreeSet实现Comparable接口的两种方式
推荐使用第二种方式,编写比较器可以使数据类的程序耦合度降低,同时比较器也可以重复利用! 第一种方式:数据类实现Comparable接口,实现其中的compareTo方法 创建对象时,使用TreeSet ...
- 关于springmvc接受简单参数和List集合数据的实现
首先要创建一个搭建一个springmvc的工程,至于如何搭建这里就不说了.给出比较重要的配置,项目目录结构如下,弄的比较简单,因为最近遇到一个需要传递List集合数据的问题,所以就当做实验. web. ...
- Springboot+resteasy定时任务
定时任务 需求:按每日统计点赞数.评论数.热度的增加量(不是现有量) 1.每天零点执行:首先遍历出user的统计字段 然后插入到新创建的表中. 2.每天一点执行:根据时间段将两表的数据相减创建增量字段 ...
- ssh框架知识点回顾
=========================================================================================== ======== ...
- [Caffe]使用经验积累
Caffe使用经验积累 本贴记录Caffe编译好了,使用过程的常用命令与常见错误解决方式.如果对编译过程还存在问题,请参考史上最全的caffe安装过程配置Caffe环境. 1 使用方法 训练网络 xx ...
- 深度学习在 CTR 中应用
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:高航 一. Wide&&Deep 模型 首先给出Wide && Deep [1] 网络结构: 本质上 ...
- webpack打包处理html、css、js、img、scss文件
webpack --help 查看webpack命令启动服务 npm run dev (先配置好服务)进入对应文件夹并初始化npmcd demo npm init 安装webpack npm inst ...
- 浅析SQL Server在可序列化隔离级别下,防止幻读的范围锁的锁定问题
本文出处:http://www.cnblogs.com/wy123/p/7501261.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...
- h5的video标签
在video标签中,我们可以使用属性:videoWidth & videoHeight,它获取的是video的宽度和高度(媒体本身). 虽然不能直接使用,但是可以通过计算宽高比得到 video ...