Mysql数据库(一)

数据库管理:

数据库运维
sql语句数据库用来增删改查的语句
备份 数据库的数据进行备份
主从复制、读写分离、高可用

数据库的概念和相关的语法和规范:

数据库:组织,存储,管理 数据的仓库

数据库的管理系统DBMS:实现数据有效组织,管理和存取的系统软件

mysql
oracle 大数据系统一般使用
sql-server
MariaDB 也是mysql 服务名mysqld
postgreSQL 大象数据库

关系型数据库:

mysql oracle postgreSQL

数组存储结构:二维的表格 行 和 列

列:对象,字段

行:对象的信息,字段的属性

行+列 组成 一张表

关系型数据库 优缺点

关系型 优点:表的结构清晰,逻辑容易整理,记录的数据比较完整
缺点:读写速度比较慢,并发量差,数据迁移比较麻烦
每个表都是关联的

非关系型数据库:

缓存型数据库:redis
索引型数据库:ES
文档型数据库:MongoDB
键值对形式存储的结构 key value

非关系型数据库 优缺点
非关系型 优点:高并发速写,对海量数据依旧可以保持高效率的存储和访问,架构可扩展
缺点:键值对形式存储,数据逻辑比较复杂,数据是保存在缓存(内存)当中(redis) 如果意外重启所有数据都会丢失

mysql数据类型

char:固定长度的字符类型,用于存储固定长度的字符串

varchar:可变长度的字符类型,存储的是可变长度的字符串

char定义好了长度之后,无论写的值是多少,都会占用固定字节大小,保存在磁盘上都是4字节

varchar在保存字符串时,多少就保存多少,在保存的字符串结尾默认有一个隐藏的结束符,会多占一个字节

varchar比char要节约磁盘空间,但是char比varchar读写性能好,char是连续的磁盘空间,保存的内容是连续的;varchar在增删改查之后会产生一个磁盘空间碎片文件,影响读写性能

int 整数

float 单精度浮点数 float(m,d) m表示总位数,d表示小数位数

double 双精度浮点 double(m,d) m表示总位数,d表示小数位数

date 用于存储日期 YYYY-MM-DD 年月日

datetime 存储日期和时间 YYYY-MM-DD HH:MM:SS 年月日时分秒

timestamp 和datetime类似,但可以自动记录当前时间

smallint 存储小整数

bigint 大整数

decimal(5,2) 存储精度的浮点数 5表示总位数,2表示小数位数

数据库的管理:增删改查 sql语句

sql名词:
数据库 database
表 table
行 row
列 column
索引 index
视图 view
用户 user
权限 privilege
存储过程 procedure
存储函数 function
调度器 event

sql语言规范:
数据库系统中,sql语句不区分大小写 建议用大写
sql语句可以分多行来写,但是必须要;结尾
命名规范:库名,表名,列名 必须以字母开头,后面可以加数字、特殊符号
不要使用mysql的保留字,table;select;show等等 做名字
数据库名,表名,用户名严格区分大小写

sql语言的分类:

1.DDL 数据库定义语言 创建数据库的对象语言,库,表,索引等
create drop
2.DML数据库操作/管理语言 对表里的数据进行管理
select update insert delete
3.DQL数据库查询语言 数据库查询语句 select
4.DCL数据控制语言 控制和管理数据库用户的角色和权限 grant 赋权 revoke取消权限
5.TCL事务控制语句,管理数据库的事务,脚本开发,存储过程
commit rollback savepoint

数据库基本操作

创建数据库
CREATE DATABASE xxx;

创建表
CREATE TABLE student (
id int(4) not null,
name char(10) not null,
score decimal(5,2)
);
删除表
DROP TABLE student;

插入数据

INSERT into student(id,name,score) values(1,‘小王’,87.6);

查看表结构

desc student;

更新表数据

UPDATE student set score=66.6 where id = 3;

删除表数据

DELETE FROM student WHERE id=2;

查询语句

SELECT name,score FROM student;

查询指定行 0,2代表前两行

SELECT * FROM student LIMIT 0,2;

去重查询

SELECT DISTINCT name from student;

条件查询

SELECT * FROM student WHERE id=7 AND score=99;

模糊查询

SELECT * FROM student WHERE name LIKE ‘%明%’;

修改表、表结构

ALTER TABLE student RENAME stu01; 修改表名

ALTER TABLE stu01 ADD address VARCHAR(50) DEFAULT ‘不详’; 添加列

ALTER TABLE stu01 MODIFY COLUMN address CHAR(30); 修改列数据类型

ALTER TABLE stu01 CHANGE COLUMN address addresses VARCHAR(20); 修改列名和数据类型

ALTER TABLE stu01 DROP addresses; 删除列

相关推荐

  1. Mysql 数据库()

    2024-07-15 20:18:05       55 阅读
  2. Mysql数据库

    2024-07-15 20:18:05       25 阅读
  3. C++:连接MySQL数据库

    2024-07-15 20:18:05       26 阅读
  4. 学习MySQL):了解数据库

    2024-07-15 20:18:05       31 阅读
  5. Mysql数据库)SQL入门

    2024-07-15 20:18:05       30 阅读
  6. mysql数据库查询语句配例题(

    2024-07-15 20:18:05       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 20:18:05       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 20:18:05       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 20:18:05       57 阅读
  4. Python语言-面向对象

    2024-07-15 20:18:05       68 阅读

热门阅读

  1. (leetcode学习)16. 最接近的三数之和

    2024-07-15 20:18:05       19 阅读
  2. /EtherCATInfo/Descriptions/Devices/Device/SubDevice/@Hideable

    2024-07-15 20:18:05       16 阅读
  3. 零基础自学爬虫技术该从哪里开始入手?

    2024-07-15 20:18:05       19 阅读
  4. FeignClient详解

    2024-07-15 20:18:05       21 阅读
  5. 【经验】LiveData使用常见问题

    2024-07-15 20:18:05       21 阅读
  6. A2A VPN简介

    2024-07-15 20:18:05       20 阅读
  7. c++多态详细学习

    2024-07-15 20:18:05       16 阅读
  8. 注册登录后上传文件到本地数据库项目

    2024-07-15 20:18:05       16 阅读
  9. PYTHON 常用算法 33个

    2024-07-15 20:18:05       17 阅读