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”下,当然这是在我的机器上(我是以默认目录安装的)。

  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下的配置因为没时间也没有去捣鼓,估计配置方式也差不多,不同的在于配置文件的存放位置。

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、其他

  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必知必会。

【Conclusion】MySQL使用的更多相关文章

  1. 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 ...

  2. 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 ...

  3. 【Conclusion】MySQL的安装和使用

    MySQL使用 因为数据库实验用到了MySQL,这里对现在已经涉及到的MySQL部分操作做一个简单的小结. 1.安装MySQL 上MySQL的官网下载对应自己OS平台的MySQL安装文件,有在线安装和 ...

  4. 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 ...

  5. An Introduction to Stored Procedures in MySQL 5

    https://code.tutsplus.com/articles/an-introduction-to-stored-procedures-in-mysql-5--net-17843 MySQL ...

  6. Cursors in MySQL Stored Procedures

    https://www.sitepoint.com/cursors-mysql-stored-procedures/ After my previous article on Stored Proce ...

  7. Percona 开始尝试基于Ceph做上层感知的分布式 MySQL 集群,使用 Ceph 提供的快照,备份和 HA 功能来解决分布式数据库的底层存储问题

    本文由 Ceph 中国社区 -QiYu 翻译 英文出处:Using Ceph with MySQL 欢迎加入CCTG Over the last year, the Ceph world drew m ...

  8. Understanding mysql max_connect_errors

    来自:http://mysqlblog.fivefarmers.com/2013/08/08/understanding-max_connect_errors/ Perhaps like many u ...

  9. MySQL 5.5: InnoDB Change Buffering

    To speed up bulk loading of data, InnoDB implements an insert buffer, a special index in the InnoDB ...

随机推荐

  1. 【Spring】JDBC事务管理XML配置

    将spring事务管理与spirng-mybatis分离开了: <?xml version="1.0" encoding="UTF-8"?> < ...

  2. centos开放端口8080

    今天购买了云服务器,玩耍一下,配置好了jdk和tomcat后,发现访问不了8080端口,telnet 不通,由此想到了防火墙挡住了. 配置规则: iptables -I INPUT -p tcp -- ...

  3. openstack配置

    参考林海峰老师的配置教程 http://blog.51cto.com/9161406/1839667

  4. Oracle教程之学习笔记

    Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...

  5. Java web开发,在一个jsp里放太多java代码的后果,摘自 java web轻量级开发面试教程

    现要做一个简单的登录页面,如果用户通过验证,会显示Welcome用户名的欢迎词,反之则返回登录页面让用户再次输入 这部分的完整代码是JSPDemo项目里的login.jsp,下面来分析一下关键代码. ...

  6. Redis在电商中的实际应用-Java

    示例代码用Jedis编写. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而附带商品有各种计数(喜欢数,评论数,鉴定数,浏览数,etc),Redis的命令都是原子性的,你可以轻 ...

  7. 为什么内存使用2G的苹果手机比内存使用4G的安卓机更流畅?

    这是在国外一家网站看到的,分析得不错,原文如下: Why does the iPhone require less RAM than Android devices? There are people ...

  8. java中接口实现多态举例

    public class Test4 { public static void main(String[] args){ Instrument ss[]={new Wind(),new Piano() ...

  9. 【详细资料】ICN6211:MIPI DSI转RGB芯片简介

    ICN6211功能MIPI DSI转RGB,分辨率1920*1200,封装QFN48

  10. Liunx-常用命令的总结(5)

    cd     ../dir        上一节目录下dir目录 cd -                    返回上次目录 ifconfig            查看IP地址 sudo   if ...