MySQL基础入门使用和命令的使用
数据库了解
- 概念
- 数据库就是一种特殊的文件,其中存储着需要的数据
- 一个数据库可以有多张表
- MySQL是一种关系型数据库
- 具有关联性数据的就是关系型数据库
- MySQL是一种软件可以用来创建mysql数据库
- MySQL也是C/S构架(底层TCP)
- MySQL客户端
- 客户端连接服务端使用TCP协议连接
- 使用时SQL语句操作
- MySQL服务器
- MySQL服务器操作数据库
- MySQL客户端
- 数据库优点
- 持久化存储
- 读写速度高
- 保存速度有有效性
- 对程序支持非常好,容易扩展
- 数据库词汇
- 列:字段
- 行:记录
- 表:记录的集合
- 主键:唯一标记一行记录的
- 外键:对于一张表中某个字段的值是另一张表的主键的值
- 常见的关系型数据库及底层了解
- RDBMS
- 是一种程序的简称,分为关系型数据库和非关系型数据库
- 关系型数据库
- MySQL(常用与制作网站)
- 常用版本:5.1 5.6 5.7 5.8
- sqlite
- Oracle
- 常用版本 Oracle 10g Oracle 11g
- sqlserver(Microsoft)
- db2(IBM)
- MySQL(常用与制作网站)
- 非关系型数据库
- redis(处理缓存)
- mangodb(存储非关系型数据)
- RDBMS
SQL语言概念
- SQL语句是一种结构化查询语句,可以用来操作RDBMS数据库语言
- sql语句分类
- DQL查询
- select
- DML操作
- insert update delete
- DQL查询
MySQL基础操作
- 安装
- ubuntu:
- sudo apt-get install mysql-server(服务端)
- sudo apt-get install mysql-client(客户端)
- ubuntu:
- 启动
- sudo service mysql start
- 暂停
- sudo service mysql stop
- 重启
- sudo service mysql restart
- 配置文件
- /etc/mysql/mysql.conf.d/mysqld.cnf
MySQL的主要数据类型和约束
数据类型
整数型
- int
- bit
小数
- decimal
- decimal(5, 2),表示一共存5位数,小数占2位
- decimal
字符串
- varchar
- char
- char(3)表示固定长度的字符串,长度不够会用空格补全,不可以超过3个字符
- varchar
- varchar(3)填充ab就会存储ab,不可以超过3个字符
时间类型
- data, time, datatime
枚举类型
- enum
- 比如性别,代表只有固定的类型让人选择
- enum
test类型
- 当字符大于4000之后推荐使用
ps:
- 对于图片,音频,视频等文件,不存储在数据库中,而是上传到服务器中,数据库只保存文件的保存路径
约束
约束是用来限制每一个字段的
主键primary key
- 物理上存储的顺序
非空not null
- 此字段不允许为空
外键
数值类型
- tinyint 1个字节,0-255
- smallint 2个字节 0-65535
- mediumint 3个字节
- int/integer 4个字节
- bigint 8个字节
字符串
- char
- barchar
- text
用命令来操作数据库
数据库连接
- mysql -uroot -pmysql
- mysql -uroot -p (这种方式需要写密码)
退出数据库
- quit/exit/ctrl+d
查看数据库
- show databases;
显示时间
- select now();
显示版本
- select version();
创建数据库
- create database python;(创建一个名称为Python的数据库)
- create database pythonnew charset=utf8;(创建一个字符集为utf8编码名称为pythonnew的数据库)
删除数据库
- drop database python;(删除名称为Python的数据库)
使用数据库
- use 数据库名称
查看当前使用数据库
- select database();
数据表操作
- 显示数据库所有的表
- show tables;
- 创建一个数据表
- create table xxxxx(id int, name varcharm(30)); # 一个逗号创建一个字段
- create table xxxxx(id int primary key not null auto_increment, name varcharm(30)); # 添加约束在每一个字段后面加上约束
- 案例创建一个students表(id,name,age,high,gender,cls_id)
create table students(
id int unsigned not null auto_increment parimary key,
name varchar(30),
age tinyint unsigned defult 0,
high decimal(5,2),
gender enum("男","女") default "男",
cls_id int unsigned
ps:
- 创建表顺序(字段名 类型 约束)
desc 数据表的名字;(可以快速查看表结构)
数据表字段结构的的增删减查
- 增
- alter table students add birthday datetime;
- alter table 表名
- 删
- drop table 表名
- 改
- alter table 表名 modify brithday data; 不重名
- alter table 表名 change brithday birth date default '1990-01-01'; 重名
- 查
ps:
show create table students; # 可以查看创建这个数据表的SQL语句
数据的增删改查
- 增:
- insert into 表名 values(....)
- insert into 表名 values(....),(....)
- insert into 表名(字段,字段) values (值1, 值2)
- insert into 表名(字段,字段) values (值1, 值2),(值1,值2)
- ps:
- 枚举中数字1代表
- 改:
- update 表名 set 字段=值 (直接修改全部字段)
- update 表名 set 字段=值 where name=值 (在满足where后面的条件,一般用主键来判断来指定修改)
- update 表名 set 字段=值,字段2=值 where name=值 (一次修改多个值)
- 查询
- select 指定字段 from 表名 (*代表所有的字段)
- select 指定字段 as 命名 from 表名 (可以修改字段的名称显示出来)
- 删
- truncate students;(清空表)
- delete from 表名; (删除表的所有内容)
- delete from 表名 where id<6; (指定删除)
- 不要去删除数据,可以添加字段来逻辑删除
- alter table students add is_delete bit default 0;
- update students set is_delete=1 where id=6;
MySQL基础入门使用和命令的使用的更多相关文章
- MySQL基础入门之常用命令使用
如何启动MySql服务 /etc/init.d/mysqld start service mysqld start Centos .x 系统 sysctl start mysqld 检测端口是否运行 ...
- MySQL基础入门之常用命令介绍
mysql命令介绍 mysql 是数据库管理命令 通过mysql --help来查看相关参数及使用说明 mysql --help #mysql数据库管理命令 Usage: ...
- 【转载】20分钟MySQL基础入门
原文:20分钟MySQL基础入门 这里持续更新修正 开始使用 MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格 ...
- mysql 基础入门 单表查询
单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...
- 1、mysql基础入门(1)
1.mysql基础入门: 1.1.数据库介绍:
- MySQL基础入门(1)
MySQL基础入门(1) 为什么学习MySQL 关系数据库管理系统(Relational Database Management System, RDBMS)是一种极为重要的工具,其应用十分广泛,从商 ...
- MySQL快速入门及常用命令
数据库 笔记内容 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,F ...
- MySQL基础知识和常用命令总结
说明:以下内容是阅读书籍<<MySQL必知必会>>的摘要和总结 检索数据 排序检索数据 过滤数据 使用通配符过滤 使用正则表达式进行搜索 创建计算字段 使用数据处理函数 汇总数 ...
- MySQL 基础入门
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...
随机推荐
- IntelliJ IDEA 2020 的Debug功能也太好用了,真香!
写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...
- 基于HTTPS的接口测试——nginx配置SSL
目录 基于HTTPS的接口测试--nginx配置SSL 1. 背景 2. 所需环境与域名备案解析 2.1 云服务器 2.2 域名 2.3 SSL证书 2.4 网站备案 2.5 域名解析 3.nginx ...
- selenium 调用JavaScript代码
selenium 调用JavaScript代码 调用JavaScript方法有两种: execute_script(): 方法解释:是同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕. ...
- CCF_201612-4_交通规划
http://115.28.138.223/view.page?gpid=T44 好像也没想象中的那么难,没办法,当初连个优先队列dij都不会写= = 在优先队列dij算法上加上相等的时候的处理就可以 ...
- POJ_1979_dfs
题目描述: 每组数据给你一张字符的图,'@'代表起点,'.'代表可走的路,'#'代表墙,求从起点出发,可到达的位置的数量,包括起点. 思路: dfs基础题,从起始点开始,每一次所在的点,只要不出界并且 ...
- zabbix4.0的安装与配置
#安装zabbix监控首先的先安装LNMP环境,在这里我采用事先准备好的脚本进行安装LNMP环境 脚本内容如下: #!/bin/bash # DATE:Wed Jan # hw226234@126.c ...
- Go语言实现:【剑指offer】机器人的运动范围
该题目来源于牛客网<剑指offer>专题. 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之 ...
- Golang内存模型
Ref: https://golang.org/ref/mem 简介 golang内存模型,主要说明了如下问题.在一个goroutine中读取变量,而该变量是由其他goroutine赋值的,这种情况下 ...
- 编译原理实验之SLR1文法分析
---内容开始--- 这是一份编译原理实验报告,分析表是手动造的,可以作为借鉴. 基于 SLR(1) 分析法的语法制导翻译及中间代码生成程序设计原理与实现1 .理论传授语法制导的基本概念,目标代码结 ...
- 20200110--python学习第八天
今日内容 进制 对于计算机而言无论是计算机存储或是网络传输输入的本质都是:二进制:例如电脑上存储的视频/图形/文件/微信/qq的表情包/小视频都是二进制. 二进制:计算机内部 八进制: 十进制: 十六 ...