(一)MySQL基础篇
1.mysql简介
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access、MS SQL Server等。
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
2.mysql安装
- a. 安装MySQL服务端
- b. 安装MySQL客户端
- b. 【客户端】连接【服务端】
- c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)
3.mysql表操作
1、查看表
- show tables; # 查看数据库全部表
- select * from 表名; # 查看表所有内容
2、创建表
- create table 表名(
- 列名 类型 是否可以为空,
- 列名 类型 是否可以为空
- )ENGINE=InnoDB DEFAULT CHARSET=utf8
- CREATE TABLE `tab1` (
- `nid` int(11) NOT NULL auto_increment, # not null表示不能为空,auto_increment表示自增
- `name` varchar(255) DEFAULT zhangyanlin, # default 表示默认值
- `email` varchar(255),
- PRIMARY KEY (`nid`) # 把nid列设置成主键
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
注:
- 默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值
- 自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)注意:1、对于自增列,必须是索引(含主键)2、对于自增可以设置步长和起始值
- 主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
3、删除表
- drop table 表名
4、清空表内容
- delete from 表名
- truncate table 表名
5、修改表

- 添加列: alter table 表名 add 列名 类型
- 删除列: alter table 表名 drop column 列名
- 修改列:
- alter table 表名 modify column 列名 类型; -- 类型
- alter table 表名 change 原列名 新列名 类型; -- 列名,类型
- 添加主键:
- alter table 表名 add primary key(列名);
- 删除主键:
- alter table 表名 drop primary key;
- alter table 表名 modify 列名 int, drop primary key;
- 添加外键: alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
- 删除外键: alter table 表名 drop foreign key 外键名称
- 修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
- 删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
4.mysql表内容操作
表内容操作无非就是增删改查,当然用的最多的还是查,而且查这一块东西最多,用起来最难
1、增
- insert into 表 (列名,列名...) values (值,值,...)
- insert into 表 (列名,列名...) values (值,值,...),(值,值,值...)
- insert into 表 (列名,列名...) select (列名,列名...) from 表
例:
insert into tab1(name,email) values('zhangyanlin','zhangyanlin8851@163.com')
2、删
- delete from 表 # 删除表里全部数据
- delete from 表 where id=1 and name='zhangyanlin' # 删除ID =1 和name='zhangyanlin' 那一行数据
3、改
- update 表 set name = 'zhangyanlin' where id>1
4、查
- select * from 表
- select * from 表 where id > 1
- select nid,name,gender as gg from 表 where id > 1
查这块的条件太多太多我给列举出来至于组合还得看大家的理解程度哈
a、条件判断where
- select * from 表 where id > 1 and name != 'aylin' and num = 12;
- select * from 表 where id between 5 and 16;
- select * from 表 where id in (11,22,33)
- select * from 表 where id not in (11,22,33)
- select * from 表 where id in (select nid from 表)
b、通配符like
- select * from 表 where name like 'zhang%' # zhang开头的所有(多个字符串)
- select * from 表 where name like 'zhang_' # zhang开头的所有(一个字符)
c、限制limit
- select * from 表 limit 5; - 前5行
- select * from 表 limit 4,5; - 从第4行开始的5行
- select * from 表 limit 5 offset 4 - 从第4行开始的5行
d、排序asc,desc
- select * from 表 order by 列 asc - 根据 “列” 从小到大排列
- select * from 表 order by 列 desc - 根据 “列” 从大到小排列
- select * from 表 order by 列1 desc,列2 asc - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序
e、分组group by

- select num from 表 group by num
- select num,nid from 表 group by num,nid
- select num,nid from 表 where nid > 10 group by num,nid order nid desc
- select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid
- select num from 表 group by num having max(id) > 10
- 特别的:group by 必须在where之后,order by之前
(一)MySQL基础篇的更多相关文章
- 【目录】mysql 基础篇系列
随笔分类 - mysql 基础篇系列 mysql 开发基础系列22 SQL Model(带迁移事项) 摘要: 一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql m ...
- 重新整理 mysql 基础篇————— 介绍mysql[一]
前言 准备整理mysql的基础篇了,前面整理了sql语句序列的的<sql 语句系列(八百章)>,感觉很多用不上,就停下来了,后续还是会继续整理. mysql 基础篇主要是对一些基础进行整理 ...
- 有评论就是我最大的动力~MySQL基础篇完结(存储引擎和图形化管理工具)
hi 今天登上来,发现竟然有了3个评论~~加油吧! 这周的计划其实远远没有达到,然后下周还有一大堆事情...那么...周末好好玩吧~ 今天试图完结MySQL的基础篇知识,小白变为大白? 1.MySQL ...
- mysql基础篇 - 其他基本操作
基础篇 - 其他基本操作 其他基本操作 一.实验简介 本节实验中我们将学习并实践数据库的其他基本操作:索引.视图,导入和导出,备份和恢复等. 这些概念对于数据库管理员而言都非常重要,请 ...
- mysql基础篇 - 数据库及表的修改和删除
基础篇 - 数据库及表的修改和删除 修改和删除 一.实验简介 本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作. 二.实验准备 在正式开始本实验内容之前,需要先 ...
- mysql基础篇 - SELECT 语句详解
基础篇 - SELECT 语句详解 SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...
- MySQL基础篇(一)
本文主要内容为MySQL的基础语句以及正则表达式等内容. 本文操作的数据库内容存在个人github:https://github.com/YuanGao-1/blog_demo.git init_sc ...
- mysql 基础篇5(mysql语法---数据)
6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...
- Linux服务-mysql基础篇
目录 1. 关系型数据库介绍 1.1 数据结构模型 1.2 RDBMS专业名词 1.3 关系型数据库的常见组件 1.4 SQL语句 2. mysql安装与配置 2.1 mysql安装 2.2 mysq ...
- MySQL基础篇(02):从五个维度出发,审视表结构设计
本文源码:GitHub·点这里 || GitEE·点这里 一.数据场景 1.表结构简介 任何工具类的东西都是为了解决某个场景下的问题,比如Redis缓存系统热点数据,ClickHouse解决海量数据的 ...
随机推荐
- 树莓派3B+学习笔记:10、使用SSH连接树莓派
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式. 1.开启树莓派3B+的SSH远程管理功能,在终端中输入以下命令: sudo ra ...
- wav2midi 音乐旋律提取算法 附可执行demo
前面提及过,音频指纹算法的思路. 也梳理开源了两个比较经典的算法. https://github.com/cpuimage/shazam https://github.com/cpuimage/Aud ...
- golang 切片小记
1 切片初始化 func printSlice(s []int) { fmt.Printf("len=%d cap=%d underlying array:%p, %v\n", l ...
- 05-基础widgets
05-基础widgets 介绍 Widget的功能是"描述一个UI元素的配置数据",Widget并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据.Flutte ...
- 20155229 2016-2017-2 《Java程序设计》第四周学习总结
20155229 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章: extends:继承某个类,继承之后可以使用父类的方法,也可以重写父类的方法,只要 ...
- 20155320 2016-2017-2 《Java程序设计》第的四周学习总结
20155320 2016-2017-2 <Java程序设计>第的四周学习总结 教材学习内容总结 继承与多态 继承就是子承父类,避免重复定义共同行为,会使用extends关键词,表示会扩展 ...
- 20155328 实验四 Android程序设计 实验报告
20155328 实验四 Android程序设计 第24章 初识Android 提交点1:完成HelloWorld并显示自己的学号 安装Android Studio后,创建了属于自己的Project( ...
- C# Disable CTRL-ALT-DEL, ALT-TAB, ALT-F4, Start Menu and so on…
使用C#禁用系统的某些特定按键 原文地址:http://www.tamas.io/c-disable-ctrl-alt-del-alt-tab-alt-f4-start-menu-and-so-on/ ...
- elasticsearch对某段时间范围内按时间间隔进行统计
{ "query" : { "constant_score" : { "filter" : { "range" : { ...
- Arduino语言
Arduino语言 Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让我们不 ...