一. 前文简介
从今天开始小杰地mysql数据库地学习随笔,总结也开始了.
小杰出入mysql, 如果出现了许多地表达不当或者观点错误希望各位读者可以给与指针,也希望大家可以多多支持小杰.
大家本着相互学习共同进步地心情一起学习进步(既然您点进来了就是缘分, 如果是休息之际,不如看看小杰地文章给小杰点评一下.)
二. MYSQL简介
2.1 什么是数据库
数据库(Database)就是按照数据结构来组织,存储和管理数据地仓库. (大量数据地集合)
数据库是针对数据进行 创建,访问, 管理,搜索 等等操作地一款 软件.
再小思考一下为什么要使用数据库 : 我磁盘上硬盘上 存储文件 ( 然后进行文件读写地方式对数据进行存储管理不可以吗? ) 明确关键,不是不可以, 而是使用数据库对于数据进行管理更加地方便,快速,安全 ( 至于为何更加快速感兴趣地朋友可以去网上查询, 磁盘读写和数据库读写哪个效率更高?)
2.2数据库地特点以及作用
- 对于数据做持久化保存 (跟磁盘文件存储一样, 对比理解)
- 方便数据地存储和查询,速度快,安全,方便
- 可以处理并发访问
- 更加安全地权限管理访问机制
三.MYSQL基础操作(SQL语句)
SQL : structure query language 结构化查询语句
SQL组件 : DDL (定义,创建) DML (操作) DQL (查询), DCL (控制)
今天地核心主题就是DDL : 定义数据库和数据表地结构. 我们常用的功能是增删改,分别对应的命令是create、drop 和 alter.
数据库操作四大步骤 :连接数据库 打开数据库 操作 关闭退出
- 3.1连接数据库
3.1.1 使用命令行连接数据库
mysql -h localhost -u root -p -P 3306 //(按回车) Enter password: // -h 服务器地址 // -u 登录地账户名 // -p 账户密码 // -P(大写) 端口号,mysql默认是3306
- 上述只是为了介绍地清楚,连接数据库是需要指定ip + port 的 说明什么,数据库算是在服务器上面跑的一款应用软件的感觉 提供更快速、高效的数据检索及数据处理
- 平时我们登录数据库不需要指定ip + 端口 都会默认 localhost 和 3306
- 然后再介绍一个图形化的操作数据库的应用软件 Navicat : 它的好处是提供了图形化的界面,使得我们操作数据库更便捷,快速,可以极大的提高工作效率,但是初期我个人认为并不建议使用,最好是熟知熟用了命令行界面之后再去使用Navicat提高工作效率.(Navicat默认收费,但是存在破解版, 有感兴趣的朋友可关注私我,福利)
3.2数据库的语法特点,以及数据库必会操作
- SQL语句要以分号结尾
- SQL语句是不区分大小写的,但是向函数呀关键字啥的简易大写,也无所谓, 我是觉着小写写着舒服用小写
- 数据库操作 (show 查看, create 创建, drop删除 alter修改)
- 查看所有的数据库: show database; //上述有效果
show database;
- 创建数据库: create database 库名 default charset=utf8mb4; (后面的default可省略, 其实就是指定数据库采取的字符集) MySQL使用的编码就是 utf8mb4
create database 库名 default charset=utf8mb4;//完整版 create database 库名; //缩写版本, 字符集默认 create database if not exists 库名; //不存在再创建,存在就不创建
- 删除数据库 drop database 库名; //删库有风险,慎用
打开数据库(进入数据库) use 库名;
进入数据库之后,数据库里面是各种表结构. 所以我们必须要对于表进行操作
表和数据库关系的理解 : 文件夹和文件的关系.
查看所有表 : show tables;
创建表 : create tables 表名(字段1 类型, 字段2 类型, 字段3 类型...) engine=innodb default charset=utf8mb4; //engine后序可省略,
- 创建表,如果表不存在执行上述指令,如果表存在则不执行咋办, 类比create database,你懂的 (if not exists)
create table is not exists 表名(字段1 类型, 字段2 类型, 字段3 类型...);
- 查看表结构(仅仅只是结构不涉及内容): desc 表名
Filed: 字段名 Type 字段类型 NULL 可否为空 Default 默认值
删除表: drop table 表名;
drop table if exists 表名; //如果这个表存在就删除
查看建表语句 : show create table 表名
- 这个表的字符集不对,应该是默认的字符集不对, 解决办法1,建表的时候指定字符集utf8mb4, 解决办法2, 查找修改所有不是utf8的编码
网络中借鉴大佬的改掉配置文件中的所有非utf8的 set character_set_client = utf8; set character_set_server = utf8; set character_set_connection = utf8; set character_set_results = utf8; set collation_connection = utf8_general_ci; set collation_database = utf8_general_ci; set collation_server = utf8_general_ci;
数据操作: 增删改查
插入: 前面写字段 后面是 values 数值
insert into 表名(字段1, 字段2, 字段3...) values(值1, 值2, 值3...); //插入一行数据 insert into 表名(字段1, 字段2, 字段3...) values(值1, 值2, 值3...), values(值1, 值2, 值3...); //插入多行数据
查询, 查看
select * from 表名; //查看整个表 select 字段1, 字段2, 字段3, from 表名; //查看含有指定字段的列 select * from 表名 where 字段=某个值; //指定查询字段=特殊值的一行
3.3 退出数据库
- 可以使用 exit 或者是 \q (quit);
四. 总结
本文重点: 首先是知道mysql 是个啥东西, 是对于数据进行管理,存储,长期保存,支持各种操作的一款软件, 是在服务器上跑的,有点像服务器但是不是... 也需要指定ip + port
熟练使用基本的SQL语句, create 创建 drop 删除, 创建删除处理针对 数据库 database 还有 table 表, show展示 use 数据库 (进入数据库)
create table 表名(字段, 类型 ...);
select * from 表 查看查询表数据 * 代表查询所有 可以指定字段 (指定列)
指定 where 字段 = 特定值 指定行
insert into 表名(字段) values(值); 插入数据
update 修改数据 delete 删除数据
小杰拙见, 初学我觉得可以先把所有基本SQL命令操作自己敲上个5到6遍进行熟练,敲完熟悉完全之后然后总结一下这些操作... (至于Navicat 初学少用,以后提升工作效率可以熟练使用)初学就是慢慢的先熟练掌握所有的基本操作... 理解的前提是实践操作