操作mysql_MySQL学习笔记之基础操作
1. 概述
数据存储
人工管理 储存量有限,共享麻烦,操作混乱
文件管理
优点:可长期保存,存储大量数据,使用简单
缺点: 一致性差,查找不便,冗余比较大
数据库管理
优点:降低冗余度,提高增删改查效率,易扩展,便调用
缺点: sql或特定语句,相对比较专业
基本概念
数据库: 按照数据一定结构,存储管理数据的仓库。数据库是在数据库管理系统管理和控制下,在一定介质上的数据集合。
数据库管理系统: 管理数据库的软件,用于建立和维护数据库。
关系型: 采用关系模型(二维表)来组织数据结构的数据库,如Oracle、SQL_Server、MySQL
非关系型: 不采用关系模型组织数据结构的数据库,如:MongoDB、Redis
2. MySQL
TcX --> Sun -- > Oracle
特点
能够工作在众多不同的平台上
提供了用于C、C++、Python、Java、Perl、PHP、Ruby众多语言的API
是开源数据库,使用C和C++编写
存储结构优良,运行速度快
功能全面丰富
安装
下载:https://dev.mysql.com/downloads/windows/installer/8.0.html
直接运行安装文件安装
终端执行:sudo apt install mysql-server
配置文件:/etc/mysql
数据库存储目录:/var/lib/mysql
Linux安装MySQL服务
windows
启动和连接MySQL服务
3. SQL语言
什么是SQL
结构化查询语言(Structured Query Language),一种特殊目的的编程语言,是一种数据查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL语言特点
SQL语言基本上独立于数据库本身
各种不同的数据库对SQL语言的支持与标准存在着细微的不同
每条命令以;结尾
SQL命令(除了数据库名和表名)关键字和字符串可以不区分字母大小写
4. 数据库管理
查看已有库
information_schema 用户信息数据库,提供访问数据库元数据的方式。保存服务器维护的所有其它数据库的信息
mysql 核心数据库,主要负责存储数据库用户、权限设置、关键字等mysql控制和管理信息
sys 所有数据来源于performance_schema.目标是把performance_schema复杂度降低
performace_schema 收集数据服务器性能参数。
hive 自建数据库
创建库
create database 库名 [character set utf8]
# 创建stu数据库,编码为utf8create database stu character set utf8;create database stu character=utf8;
注意:库名的命令
数字、字母、下划线,但不能使用纯数字
库名区分字母大小写
不要使用特殊字符和mysql关键字
切换库
use 库名;
# 使用 stu 数据库use stu;
查看当前所在库
select database();
删除库
drop database 库名;
# 删除 seasiloDB数据库drop database seasiloDB
5. 数据表管理
数字类型
普通字符:CHAR, VARCHAR
存储文本:TEXT
存储二进制数据:BLOB
存储选项型数据:ENUM, SET
注意:
表的基本操作
设置数字为无符号则加上UNSIGNED
字段不为NULL可设置字段属性为NOT NULL
DEFAULT 设置字段默认值
COMMENT 增加字段说明
AUTO_INCREMENT 定义列为自增的属性,一般用于主键,数值会自动加1.
PRIMARY KEY 关键字用于定义列为主键。主键的值不能重复,且不能为空。
创建表
create table 表名(字段名 数据类型 约束,字段名 数据类型 约束,...字段名 数据类型 约束 )
字段约束
# 创建班级表create table class (id int primary key auto_increment,name varchar(32) not null,age tinyint unsigned not null,sex enum('w','m'),score float default 0.0); # 创建兴趣班表create table hobby (id int primary key auto_increment,name varchar(32) not null,hobby set('sing','dance','draw'),level char not null,price decimal(6,2),remark text);
字段约束
show tables;
查看表结构
desc 表名;
查看数据表创建信息
show create table 表名;
删除表
drop table 表名;
插入(insert)
以记录为单位,一次插入一行记录;字符串须引起来;
insert into 表名 values(值1,值2....),(值1,值2),...;insert into 表名 (字段1,....) values (值1,值2),...;
insert into class values (2,'Toby',19,'m',99),(1,'Sam',12,'m',90);insert into class (name,age,sex,score) values ('Toby',28,'m',99);
查询(select)
select * from 表名 [where 条件];select 字段1,字段2 from 表名 [where 条件];
select * from class;select name,age from class;
where 子句
where子句在sql语句中扮演了重要角色,主要通过一定的运算条件进行数据的筛选,在查询、删除、修改中使用。
更新表记录(update)
update 表名 set 字段1=值1,字段2=值2,.... where 条件;注意:update 语句后如果不加where条件,所有记录全部更新
# 示例update class set age=18,sex=o where name="tony";update class set age=18,sex=o where name = "tony";update class set age=age-1;# 批量更新
删除表记录(delete)
delete from 表名 where 条件;注意:delete 语句后后果不如where 条件,所有记录全部清空# 示例delete from class where name='sby';
算数运算符
# 示例
select * from class_1 where age % 2 = 0;
比较运算符
#示例:select * from class where age > 88;select * from class where age between 18 and 30;select * from class where age in (10,30);
逻辑运算符
#示例select * from class where sex="m" and age > 9;
运算优先级 可借用括号改变默认优先级
更新表记录(update)
update 表名 set 字段1=值1,字段2=值2,.... where 条件;注意:update 语句后如果不加where条件,所有记录全部更新
# 示例update class set age=18,sex=o where name="tony";update class set age=18,sex=o where name = "tony";update class set age=age-1;# 批量更新
删除表记录(delete)
delete from 表名 where 条件;注意:delete 语句后后果不如where 条件,所有记录全部清空# 示例delete from class where name='sby';
操作mysql_MySQL学习笔记之基础操作相关推荐
- MongoDB学习笔记(基础操作篇)
一.MongoDB相关概念 1.1 MongoDB相关概念 传统的关系型数据库(如MySQL),在数据操作的"三高"需求以及应对Web2.0的网站需求面前,显得力不从心. 解释:& ...
- R语言学习笔记-RStudio基础操作
1.快捷键 RStudio console下: Tab键:自动补齐功能 Ctrl + 上键 : 显示之前的输入代码 Alt + Shift + K :显示所有的快捷键 esc : 中断当前操作 ctr ...
- C基础学习笔记——01-C基础第02天(用户权限、VI操作、Linux服务器搭建)
在学习C基础总结了笔记,并分享出来.有问题请及时联系博主:Alliswell_WP,转载请注明出处. 01-C基础第02天(用户权限.VI操作.Linux服务器搭建) 打开终端:ctrl+alt+t ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- C++操作Word学习笔记(三)
[当前博文转自http://blog.csdn.net/sgdgoodboy/article/details/2102628] [本文不只有Word相关内容,还涉及了Excel,由于字数限制,Exce ...
- jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
- PHP操作MongoDB学习笔记
PHP操作MongoDB技術總結 <?php /** * PHP操作MongoDB学习笔记 */ //************************* //** 连接MongoDB数据库 ...
- 安装命令:pip install xlrd ,pandas操作Excel学习笔记__7000
pandas操作Excel学习笔记_loc和iloc_7000 pandas操作Excel学习笔记__7000 1.安装环境:pandas需要处理Excel的模块xlrd,所以需要提前安装xlrd.不 ...
- Flas-SQLAchemy数据库操作使用学习笔记
Flas-SQLAchemy数据库操作使用学习笔记 Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展.SQLALchemy 是Python语言的S ...
最新文章
- 网络推广外包专员浅析货拉拉坠车事件后宣布整改增加录音录像功能
- [android] 解决DatePickerDialog和TimePickerDialog控件取消按钮问题
- Android Animation动画(很详细)
- java格式化输出双精度小数,用Java格式化双精度类型
- java gradle入门_Gradle入门:我们的第一个Java项目
- 太棒了!8 个流行的 Python 可视化工具包,你喜欢哪个?
- 蹭热度?罗永浩:下一个创业项目是“元宇宙公司”
- 【九度OJ1348】|【剑指offer36】数组中的逆序对
- 【Java必备技能三】自定义注解
- mac Lion 10.7系统使用笔记
- 如何调整c盘分区大小,怎样把c盘空间调整小些
- 使用Python连接crossbar.io 报错 could not create serializer for “cbor“ (available: [‘json‘])
- matlab矩阵保存到表格,将matlab求出的矩阵保存在Excel表格中
- vi编辑器中的常用命令
- Python常用轮子下载网站
- 基于Plot.ly Dash 使用 Python 开发交互式互动数据图
- 关于openCV报错无法打开文件“opencv_world340d.obj”的配置问题
- PIC单片机驱动LCD断码屏代码生成工具
- 人工智能AI技术如何在视频领域应用落地
- php删除到回收站代码,如何找回回收站删除的文件PHP,删除文件与文件夹操作
热门文章
- from rfc 2068 hypertext怎么解决_“饮水思源”英语怎么翻译
- 2014年高级计算机操作员工种代码36-323不可积分入户深圳吗,2014年深圳积分入户工种加分考证...
- linux入门指令 详解,Linux基础命令之mktemp详解
- 邮件服务器两种协议,邮件服务器协议
- 计算机网络转本文科,江苏专转本计算机经验总结
- python如何获取文件的行号_Python当我捕获异常时,如何获取类型,文件和行号?...
- docker--shell和Exec格式
- 小学四则运算结对项目报告(GUI)
- 换linux服务器 验证码不显示
- Matlab绘图添加直角坐标轴