廊坊企业网站外包,安装wordpress连接不了数据库文件,做资源网站 文件能存储到云盘吗,范文写作网站目录
基本使用
使用案例
SQL分类
存储引擎
库的操作
字符集和校验规则
查看系统默认字符集和校验规则
查看数据库支持的字符集
查看数据库支持的字符集校验规则
指定编码常见数据库 校验规则对数据库的影响
操纵数据库
库的备份与恢复
表的操作
创建表
查看表
…目录
基本使用
使用案例
SQL分类
存储引擎
库的操作
字符集和校验规则
查看系统默认字符集和校验规则
查看数据库支持的字符集
查看数据库支持的字符集校验规则
指定编码常见数据库 校验规则对数据库的影响
操纵数据库
库的备份与恢复
表的操作
创建表
查看表
修改表
删除表 基本使用
连接服务器 mysql -h 127.0.0.1 -P 3306 -u root -p
-h指明登录部署了mysql的主机-P指明我们要访问的端口号-u指明登录用户-p指明需要输入密码。
什么是数据库 mysql--数据库服务的客户端mysqld--数据库服务的服务器端带d表明是一种守护进程mysql本质是基于Cmysql和Smysqld模式的网络服务 mysql既然是一种网络服务就要绑定端口号默认是3306。mysql是一套给我提供数据存取的服务的网络程序。数据库一般指在磁盘或者内存中存储的特定结构组织的数据将来在磁盘上存储的一套数据库方案。数据库服务特指mysqld。 存储数据用文件就行了为什么还要有数据库 一般文件确实提供了数据的存储功能但是文件并没有提供非常好的数据管理能力用户角度。
数据库本质对数据内容存储的一套解决方案你给我字段或要求我数据库给你直接返回结果。 文件保存有如下缺点
文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序控制中不方便。
使用案例
创建数据库
create database helloworld; 建立数据库本质就是linux下的一个目录。
使用数据库
use helloworld;
创建数据库表
create table student(id int,name varchar(32),gender varchar(32)
); 在数据库内建立表本质就是在Linux下创建对应的文件即可
表中插入数据
insert into student (name, age, gender) values (姓名,20,男);
查询表中数据
select * from student;
这个工作实际上是mysqld帮我们做的。数据库本质也是文件只不过这些文件并不由程序员直接操作而是由数据库服务帮我们进行操作。
服务器数据库表关系 数据逻辑存储 SQL分类
DDL数据定义语言用来维护存储数据的结构代表指令create、drop、alterDML数据操纵语言用来对数据进行操作的代表指令insert、delete、update其中还包括数据查询语言代表指令selectDCL数据控制语言主要负责权限管理和事务代表指令grantrevoke、commit。
存储引擎
存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。其中最常用的是InnoDB和MylSAM。
库的操作
创建数据库create database db_name; -- 本质就是在/var/lib/mysql创建一个目录删除数据库drop database db_name; -- 删除目录
字符集和校验规则
创建数据库的时候有两个编码集
数据库编码集数据库未来存储数据数据库校验集支持数据库进行字段比较使用的编码本质也是一种读取数据库中数据所采用的编码格式。
数据库无论对数据做任何操作都必须保证操作和编码必须是编码一致的
查看系统默认字符集和校验规则
show variables like character_set_database;
show variables like collation_database; 查看数据库支持的字符集
show charset;
查看数据库支持的字符集校验规则
show collation;
指定编码常见数据库
1.创建名为d1的数据库当没有指定字符集和校验规则时系统默认采用默认字符集utf8校验规则utf8_general_ci
create database d1;
2.创建一个使用utf8字符集的d2数据库
create database d2 charsetutf8;
3.创建一个utf8字符集并指定检验集utf8_general_ci这种不区分大小写的d3数据库
create database d3 charsetutf8 collate utf8_general_ci; 校验规则对数据库的影响
不区分大小写校验规则使用utf8_general_ci区分大小写校验规则使用utf8_bin
采用哪种校验规则会对查询结果或排序结果有影响。
操纵数据库
数据库删除
drop database [if exists] db_name;
在执行删除数据库操作后里面的数据表都会被删除所以不要随意删除数据库最好做备份再删除。
查看数据库
show database;
显示创建语句
show create database db_name; 查看当前在哪个数据库
select database();
修改数据库
alter database db_name charsetgbk collate gbk_chinese_ci;
对数据库的修改主要是修改数据库的字符集和校验规则。
库的备份与恢复
备份
mysqldump -P3306 -u root -p 密码 数据库名 数据库备份存储的文件路径;
例如我们将数据库test备份形成test.sqltest.sql中其实是我们整个创建数据库建表导入数据的语句都放在这个文件中。
还原
source 文件路径;
注意
如果备份的是数据库中的一张表那么这样做
mysqldump -u root -p 数据库名 表名1 表名2 路径
同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... 数据库存放路径
如果备份一个数据库时没有带上-B参数在恢复数据库时需要先创建空数据库可以换成别的名字然后使用数据库再使用source还原。
查看连接情况
show processlist; 可以告诉当前有哪些用户连接到我们的MySQL这可以帮助我们看有没有异常用户是不是数据库被入侵了。
表的操作
创建表
create table table_name(field1 datatype,field2 datatype,field3 datatype
)character set 字符集 collate 校验规则 engine 存储引擎;
其中field表示列名datatype表示列的类型character set表示字符集如果没有指定字符集则以所在数据库的校验规则为准collate校验规则如果没有指定校验规则则以所在数据库的校验规则为准。
下面创建一个表实例 创建表的存储引擎是InnoDB。 存储引擎是MyIsam。在当前云服务器上要使用utf8mb4而不能utf8 不同的存储引擎创建表的文件不一样。
查看表
查看表结构
desc 表名; 查看表的更详细信息 加\G可以清晰看到主要字段。
修改表
修改表名
关于表的修改我们需要有表的增加列删除列修改列修改表名字修改列名字等。
alter table user1 rename to user; 案例
先向表中插入两条记录
insert into user values(1, 张三, 123456, 1);
insert into user values(1, 李四, 54321, 2);
在user中添加一个字段用于保存图片路径
mysql alter table user add image_path varchar(200) comment 这个是图片路径 after sex;修改name将其长度修改为60 修改的结果是把原来name所有的属性用新设置的属性全都覆盖掉了。
删除password列 注意删除字段及其对应的列数据全都没了。
修改表名为User 其中to可以省略。
修改表中某一列的名称。
alter table User change name xingming varchar(60) COLLATE utf8mb4_general_ci DEFAULT NULL;其中新名称xingming后面必须加上对应的属性可以通过show create table User;查询。 删除表 温馨提示不要轻易修改表名字以及列名字如果一改那上层所有都得改。