一、数据库的安装
网上安装教程有很多,这里找了比较靠谱的安装教程,分别是在Windows下安装和配置和在Linux下安装与配置。
这篇文章主要介绍的是在 Windows 下使用 MySql 数据库。
二、MySql 数据库基础
1.什么是数据库?
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
文件的安全性问题
文件不利于查询和对数据的管理
文件不利于存放海量数据
文件在程序中控制不方便
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,他能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。
数据库:高效的存储和处理数据的介质(介质主要是两种:磁盘和内存)
目前主流的数据库
SQL Sever:微软的产品,.Net程序员的最爱,中大型项目
Oracle:甲骨文产品,Java程序员,大型项目,适合处理复杂的业务逻辑,对并发一般来说不如MySQL。
MySQL:sun公司产品,现在也属于甲骨文,中型和大型项目。并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
DB2:IBM公司,处理海量数据,大型项目,功能很强悍。
informix:IBM公司,安全非常强。
mysql的基本使用
连接到mysql,在Windows的命令行窗口输入下面的命令再输入密码,就可以连接到数据库了
2.数据库服务器。数据库和表的关系
所谓安装数据库服务器,只是在机器上安装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
建库基本语句:
create database 库名;
使用库:
use 库名;
3.数据在数据库中的存储方式
4.基本语句:
5.SQL分类
三、库的操作
1. 创建数据库
语法:CREATE DATABASE [IF NOT EXISTS] db_name [create_speci?cation [, create_speci?cation] …]
说明:
大写的表示关键字
[] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE:指定数据库字符集的比较方式(默认utf8_ general_ ci,一般不指定)
查看系统默认字符集以及校验规则的命令为:
show variables like ‘character_set_database’;
show variables like ‘collation_database’;
2. 字符集和校验规则
查看数据库支持的字符集:
show charset;
(1)校验规则:
区分大小写:
创建一个数据库,校验规则使用 utf8_general_ci [不区分大小写]
创建一个数据库,校验规则使用 utf8_general_bin [区分大小写]
(2)影响排序
3. 操纵数据库
(1)查看数据库:show databases;
(2)显示数据库创建语句:show create database 数据库名;
(3)数据库删除:DROP DATABASE [IF EXISTS] db_name;
4.查看当前MySQL数据库的连接情况:show processlist;
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。如果发现自己数据库比较慢时,可以用这个指令来看看数据库连接情况。
5、备份和恢复数据库
基本思路:
mysqldump -u root -p密码 数据库名> 数据库存放路径
示例:将memo库备份到桌面 mysqldump -u root -p memo > ./memo.sql 这时,可以打开看看 memo.sql 文件里的内容,其实把我们整个建库,建表,导入数据的语句都装载这个文件中。
恢复数据库,进入mysql控制台,我们先删除原来的库。
要恢复数据库,必须先创建一个空的数据库。最好和以前的数据库名字一致。
备份数据库注意事项:
如果备份的不是整个数据库,而是其中的一张表,怎么做??
mysqldump -u root -p密码 数据库名 表名1 表名2 > ./mytest.bk
如何恢复指定的表??
mysql> source 备份的文件路径
在使用source 恢复数据时,保证use对应的数据库
同时备份多个数据库 mysqldump -u root -p密码-B 数据库名1 数据库名2
… > 数据库存放路径
同时恢复多个数据库mysql > source 备份的文件
如过我们备份一个数据库时,也带上-B参数,在恢复数据库时,不需要再创建空数据库。
4. 修改库
语法:
说明:对数据库的修改主要指的是修改数据库的字符集,校验规则。
示例:将mytest数据库字符集改成gbk
5. 删除库
drop database 数据库名字;
当执行这句话后:
(1)数据库内部看不到对应的数据库
(2)对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
注意:不要随意删除数据库。
四、表的操作
1. 创建表
语法:
说明:
?eld 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准。
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。
创建一张表:
查看表结构:
desc 表名;
示例:
2. 修改表
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
(1)在 users 表中添加一个字段,用于保存图片路径
插入新字段后,对原来表中的数据没有影响:
(2)修改name,将其长度改成60
(3)删除password列(删除字段一定要小心,删除字段及其对应的列数据都没了)
(4)修改表名为 employee
(5)修改字符集为 gbk
mysql> alter table employee charset=gbk;
(6)将 name 列修改为 xingming
原文链接:https://blog.csdn.net/yubujian_l/article/details/81118200
下一篇:没有了