mysql数据库简单一些简单操作和总结
1. mysql 数据库操作方法:
进入数据库 mysql -uroot -p
退出 quite exit
默认引擎 innodb
查看版本 select verison();
查看时间 select now();
逻辑运算 select 1+1;
查询数据库 show databases ;
创建数据库 create database 库名 charset = utf8;
删除 drop database 库名;
使用某个数据库 use 库名;
查询库中所有表 show tables;
查看表结构 desc 表名;
创建表 create table 表名( 增加字段和数据类型
)
例如: create table classes(
id int unsigned(无符号的) primary key(主键) auto_increment (自动增加) not null(非空),
name varchar(30) not null default(默认)‘ ’
);
修改表名 alter table 表名 rename to 新表名;
删除表 drop table;
查询表内容 select * from 表名;
往表中插入数据 insert into 表名 values();
例如 insert into student values(0,'小明'),(0,'小花') ; 零 是占位。注:有几个字段名就插入几个数据,比如前面的插入了两个
删除数据 delete from 表名 where id = 1;
修改数据 update 表名 set 字段名 = ‘1234’where id = 1; 1234代表新的内容修改ID为1的数据
增加字段 :
alter table 'student'
add column 'num1' int(3) null default null;
修改字段 :
alter table'student'
change column 'num1' 'num2' int(3) null default null;
删除字段:
alter table 'classes'
drop column 'num';
一个英文字符等于一个字节,一个中文三个字节
2. 连接查询 join
join 用于多表中字段之间的联系,语法如下:
from table1 inner或者left或者right join table2 on conditiona
3. 使用 as 给字段起别名(给长的字段取别名)
select id as code from student; 可以通过 as 给表起别名
在select后面列前使用distinct可以消除重复的行
4. mysql的联合主键: select 字段1,字段2 from 表名 where 条件
逻辑运算符
and or not (is 用来判断null)
5. 范围查询
between ...... and.....
查询年龄在20岁到30岁之间的学生
select name from student where age between 20 and 30
in表示在一个非连续的范围内
select id from student where id in (1,2,3)
select distinct num from student ;
6 . 模糊查询 like
%表示任意多个任意字符
_ 表示一个任意字符
查询姓黄的学生
select * from student where name like ‘黄%’
7. 聚合函数
mysql中五种常用的聚合函数:
(1)max(列名):求最大值。 select max(salary) from salary_tab;
(2)min(列名):求最小值。
(2)sum(列名):求和。
(4)avg(列名):求平均值。select sum(salary) from salary_tab;
(5)count(列名):统计记录的条数
①count(*):返回表中满足where条件的行的数量
select count(*) from salary_tab where salary='1000';
8. 排序
为了方便查看数据,可以对数据进行排序
语法:order by 字段 asc 或者 desc
查询学生信息,按学号降序
select * from student order by id desc
9.分组
分组SELECT的基本格式:
select [聚合函数] 字段名 from 表名
[where 查询条件]
[group by 字段名]
[having 过滤条件]
指定一个列进行分组
select salary,count(*) from salary_tab
指定多个分组列,‘大组中再分小组’
select userid,count(salary) from salary_tab
根据表达式分组
select year(payment_date),count(*)
10. having字句
对分组结果进行过滤
having子语句与where子语句区别
where子句在分组前对记录进行过滤;
having子句在分组后对记录进行过滤
11. limit 分段取值
语法 limi m,n select * from student limit 0,2 从第一个开始取,取两个,如果不写第一个参数,就是默认从第一个参数取值,取n个
12. mysql外键约束
建表时生成外键 foreign key('sid') references'student'('id');
建表时添加外键 alter table'course_student' add foreige key('sid') references'student' (''id);
删除外键 alter table'course_student'drop foreign key'course_student_idfk_1';
13. mlsql自关联
select * from areas as p inner join areas as c on c.pid = p.aid where p.atile = '河南省';
14.自关联
标量子查询
select * from arrticle where uid = (select uid from user where status = 1 order by uid desc limit 1);
列子查询
select * from student where cls id in (select id from classes where id in (1,2))
行子查询
示例:查询一个班身高最高,岁数最大的学生
select * from student where(age,height) = (select max(age),max(height) from student);
15.视图
建立视图 create view 视图名称 as select 语句
建议名称以v_开头,用来和普通表区分, 使用show tables 可以显示视图
使用视图 select * from 视图名称
删除视图 drop view 视图名称
修改视图 create or replace view 视图名称 as sql语句
16.事务
开启事务后执行修改命令
begin 或者start transaction;
提交事务 commit;
回滚事务 rollback
17.索引
使用索引 select * from test_index where name = 'ca-900';
联合索引 select * from test_index where name = 'ca-900' and id = 'ha-900';
以上是学习数据库以来简单的总结
mysql数据库简单一些简单操作和总结的更多相关文章
- mysql数据库基础的简单操作指南
最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ...
- Swift3.0服务端开发(四) MySQL数据库的连接与操作
本篇博客我们来聊聊MySQL数据库的连接与操作.如果你本地没有MySQL数据库的话,需要你先安装MySQL数据库.在Mac OS中使用brew包管理器进行MySQL的安装是及其方便的.安装MySQL的 ...
- Linux安装Mycat1.6.7.4并实现Mysql数据库读写分离简单配置
1. Mycat简介 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一 ...
- 在linux上安装MySQL数据库,并简单设置用户密码,登录MySQL
在新装的Centos系统上安装MySQL数据库. <p><a href="http://www.cnblogs.com/tijun/">提君博客原创< ...
- php基础编程-php连接mysql数据库-mysqli的简单使用
很多php小白在学习完php基础后,或多或少要接触到数据库的使用.而mysql数据库是你最好的选择,本文就mysql来为大家介绍php如何连接到数据库. PHP MySQLi = PHP MySQL ...
- Python操作Mysql数据库进阶篇——查询操作详解(一)
前面我们已经介绍了在Python3.x中如何连接一个Mysql数据库,以及怎么样对这个数据库创建一个表,增删改查表里的数据.想必大家对Mysql数据库和简单的sql语句有了一定的了解,其实sql语句博 ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- 对mysql数据库表的相关操作
虫师博客(Python使用MySQL数据库(新)): https://www.cnblogs.com/fnng/p/3565912.html 1.更改表的结构,增加一个字段放置新增的属性 alter ...
- MyBatis实现Mysql数据库分库分表操作和总结
前言 作为一个数据库,作为数据库中的一张表,随着用户的增多随着时间的推移,总有一天,数据量会大到一个难以处理的地步.这时仅仅一张表的数据就已经超过了千万,无论是查询还是修改,对于它的操作都会很耗时,这 ...
- MySQL数据库的权限问题操作及基本增删改查操作
前面我们讲了mysql的基本内容,现在我们详细的了解一下mysql中的具体操作. what's the SQl SQL(Structured Query Language 即结构化查询语言) SQL语 ...
随机推荐
- mysql密码遗失
仅以本地数据库测试 本地数据库密码遗失,百度上的方法很麻烦,想着没有用的一个本地库(localhost),就想删库重建,navicat上点击数据库,删除链接.然后在新建库,同名同端口的,此时密码已经制 ...
- js的回调函数
介绍首先从英文介绍开始 A callback is a function that is passed as an argument to another function and is execut ...
- flask 第五章 WebSocket GeventWebsocket 单聊群聊 握手 解密 加密
1.WebSocket 首先我们来回顾一下,我们之前用socket学习过的项目有: 1.django 2.flask 3.FTP - 文件服务 HTTP - TCP (特点): 1.一次请求,一次响应 ...
- 用docker搭建python项目运行环境
Docker Hub镜像加速器 安装docker: curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-eng ...
- SQL-54 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。
题目描述 查找排除当前最大.最小salary之后的员工的平均工资avg_salary.CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL,`sala ...
- dom编程艺术笔记2--第三章
DOM 1.dom:简单理解为文档对象模型<==>节点树 2.宿主对象:浏览器提供的对象—>document对象 3. html标签为树顶点元素 head body为html子元素以 ...
- 使用LinkedList类生成一个集合对象,循环加入“小样1”,“小样2”,“小样3”,“小样4”,“小样5”……“小样100”。输出这个集合的大小。再使用循环删除这个集合中所有名字为偶数的对象,比如“小样6”,“小样100”,都是偶数名。最后:循环输出集合中所有的对象,看是否删除成功。
package com.lanxi.demo1_8; import java.util.Iterator; import java.util.LinkedList; public class Test ...
- [ffmpeg]安装
下载源码: 我们选择去官网http://ffmpeg.org下载.版本和打包方式譬如:ffmpeg-3.1.11.tar.bz2 安装过程: tar -jxvf ./ffmpeg-3.1.11.t ...
- 为什么Python是最适合初创公司的编程语言?
为什么Python是最适合初创公司的编程语言? 选自Medium 作者:Gleb Pushkov 京东云开发者社区编译 对于初创公司而言,要在众多编程语言中为公司选择一个正确.合适的语言绝非易事. 如 ...
- (转) java 通过 jdbc 链接 ms sql server 中出现 "no suitable driver for ..."
原文连接 : http://blog.csdn.net/stewen_001/article/details/19553173/ 前面是 基本操作步骤,按照原博主的方式进行操作即可...() 这里是需 ...