php手机网站开发,重庆荣昌网站建设,阿里巴巴网站详情页怎么做的,泰安网站建设哪家不错目录
一#xff0c;数据库基础
1#xff0c;什么是数据库
2#xff0c;主流的数据库
3#xff0c;连接服务器
4#xff0c;服务器#xff0c;数据库#xff0c;表关系
5#xff0c;使用案例
二#xff0c;库的操作
1#xff0c;创建数据库
2#xff0c;创建…目录
一数据库基础
1什么是数据库
2主流的数据库
3连接服务器
4服务器数据库表关系
5使用案例
二库的操作
1创建数据库
2创建数据库案例
3字符集和校验规则
1查看系统默认字符集以及校验规则
2查看数据库支持的字符集
3查看数据库支持的字符集校验规则
4校验规则对数据库的影响
4操纵数据库
1查看数据库
2显示创建语句
3修改数据库
4数据库删除
5备份和恢复
1备份
2还原
3注意事项
6查看连接情况 一数据库基础
1什么是数据库
存储数据用文件就可以了为什么还要弄个数据库?
文件保存数据有以下几个缺点 文件的安全性问题 文件不利于数据查询和管理 文件不利于存储海量数据 文件在程序中控制不方便 数据库存储介质 磁盘 内存 为了解决上述问题专家们设计出更加利于管理数据的东西——数据库它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。 2主流的数据库 SQL Sever 微软的产品.Net程序员的最爱中大型项目。 Oracle 甲骨文产品适合大型项目复杂的业务逻辑并发一般来说不如MySQL。 MySQL世界上最受欢迎的数据库属于甲骨文并发性好不适合做复杂的业务。主要用 在电商SNS论 坛。对简单的SQL处理效果好。 PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库不管是私用商用还是学术研究使用可 以免费使用修改和分发。 SQLite 是一款轻型的数据库是遵守ACID的关系型数据库管理系统它包含在一个相对小的C库中。它的设 计目标是嵌入式的而且目前已经在很多嵌入式产品中使用了它它占用资源非常的低在嵌入式设备中可 能只需要几百K的内存就够了。 H2 是一个用Java开发的嵌入式数据库它本身只是一个类库可以直接嵌入到应用项目中。 3连接服务器
输入 mysql -h 127.0.0.1 -P 3306 -u root -p 一般我们用 mysql -u root -p 就可以了 输出
输入指令后再输入密码即可
注意
如果没有写 -h 127.0.0.1 默认是连接本地
如果没有写 -P 3306 默认是连接3306端口号 4服务器数据库表关系
1所谓安装数据库服务器只是在机器上安装了一个数据库管理系统程序这个管理程序可以管理多个数据库 一般开发人员会针对每一个应用创建一个数据库
2为保存应用中实体的数据一般会在数据库中创建多个表以保存程序中实体的数据
3数据库服务器、数据库和表的关系如下 5使用案例
创建数据库 create database helloworld; 使用数据库 use helloworld; 创建数据库表 create table student( id int, name varchar(32), gender varchar(2) ); 表中插入数据 insert into student (id, name, gender) values (1, 张三, 男); insert into student (id, name, gender) values (2, 李四, 女); insert into student (id, name, gender) values (3, 王五, 男); 查询表中的数据 select * from student; 二库的操作
1创建数据库
语法 CREATE DATABASE [IFNOTEXISTS]db_name[create_specification[,create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name 说明 大写的表示关键字
[ ] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则 2创建数据库案例
创建名为 db1 的数据库 create database db1; 说明 当我们创建数据库没有指定字符集和校验规则时系统使用默认字符集utf8 校验规则是utf8_ general_ ci 创建一个使用utf8字符集的 db2 数据库 show databases; 指令是查看数据库 创建一个使用utf8字符集的 db2 数据库 create database db2 charsetutf8; 创建一个使用utf字符集并带校对规则的 db3 数据库。 create database db3 charsetutf8 collate utf8_general_ci; 3字符集和校验规则
1查看系统默认字符集以及校验规则 show variables like character_set_database; show variables like collation_database; 2查看数据库支持的字符集 show charset; 字符集主要是控制用什么语言。比如utf8就可以使用中文。 3查看数据库支持的字符集校验规则 show collation; 如果想快速知道指定数据库的字符集和校验集的话 var/lib/mysql 在这个目录里面mysql 的数据库在里面就是一个目录 进入想要查看的数据库目录里面有文件 db.opt 里面存放了字符集和校验集 4校验规则对数据库的影响
不区分大小写
创建一个数据库校验规则使用utf8_ general_ ci[不区分大小写] create database test1 collate utf8_general_ci; use test1; create table person(name varchar(20)); insert into person values(a); insert into person values(A); insert into person values(b); insert into person values(B); 不区分大小写的查询以及结果 区分大小写
创建一个数据库校验规则使用utf8_ bin[区分大小写] create database test2 collate utf8_bin; use test2 create table person(name varchar(20)); insert into person values(a); insert into person values(A); insert into person values(b); insert into person values(B); 一对比一目了然 结果排序不区分大小写排序以及结果 区分大小写排序以及结果 4操纵数据库
1查看数据库 show databases; database 下面全是数据库 2显示创建语句 说明 MySQL 建议我们关键字使用大写但是不是必须的。 数据库名字的反引号,是为了防止使用的数据库名刚好是关键字 /*!40100 default.... */ 这个不是注释表示当前mysql版本大于4.01版本就执行这句话 3修改数据库
语法 ALTER DATABASE db_name [alter_spacification [,alter_spacification]...] alter_spacification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name 说明
对数据库的修改主要指的是修改数据库的字符集校验规则 实例 将 test1 数据库字符集改成 gbk 4数据库删除 DROP DATABASE [IF EXISTS] db_ name; 执行删除之后的结果: 数据库内部看不到对应的数据库 对应的数据库文件夹被删除 级联删除里面的数据表全部被删
注意不要随意删除数据库 5备份和恢复
1备份
语法 # mysqldump -P3306 -u root -p 密码 -B 数据库名 数据库备份存储的文件路径 示例将 test2 库备份到文件退出连接 # mysqldump -P3306 -u root -p123456 -B mytest D:/mytest.sql 因为我这个 mytest 数据库是新建的里面没有东西
我们看看另一个 Dtest2.sql 的 里面就有很多东西了 2还原 mysql source D:/mysql-5.7.22/mytest.sql; 先删除原数据库 还原 也是成功还原了 3注意事项
如果备份的不是整个数据库而是其中的一张表怎么做 # mysqldump -u root -p 数据库名 表名1 表名2 D:/mytest.sql 同时备份多个数据库 # mysqldump -u root -p -B 数据库名1 数据库名2 ... 数据库存放路径 如果备份一个数据库时没有带上-B参数 在恢复数据库时需要先创建空数据库然后使用数据库再使用 source来还原。 6查看连接情况
语法 show processlist 可以告诉我们当前有哪些用户连接到我们的MySQL如果查出某个用户不是你正常登陆的很有可能你的数据库被 人入侵了。以后大家发现自己数据库比较慢时可以用这个指令来查看数据库连接情况