使用SQL实现数据操作
SQL和RDBMS的区别:用SQL操作RDBMS
一、数据的完整性
一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节
二、数据库基本操作
1、 登录数据库
首先进入mysql安装目录下的bin文件,然后运行命令:
2、退出登录:quit或者exit
3、 以分号或者\g结束
查看sql版本:select version();
查看当前时间:select now();
修改提示符:prompt 新的提示符
查看创建的数据库:show databases;
查看当前正在使用的数据库:select database(); --NULL值的是空
使用数据库:use demo;
创建数据库:create database 数据库名;
查看数据库的创建语句;show create database 数据库名称;
删除数据库:drop database 数据库名;
指定数据集:create database 数据库名 charset=utf8;
输出Mysql数据库管理系统的性能及统计信息:show table status from 数据库名;
三、数据表基本操作
1、查看当前所使用的表:show tables;
使用该命令前需要使用 use 命令来选择要操作的数据库。
创建表:
create table 数据表名(字段名 字段类型 字段约束[,字段名 字段类型 字段约束])
例:CREATE TABLE student (
id INT UNSIGNED PRIMARY KEY auto_increment,
NAME VARCHAR(10) NOT NULL,
age TINYINT UNSIGNED DEFAULT 0,
high DECIMAL (5, 2) DEFAULT 0.0,
gender enum('男','女','中性','保密') DEFAULT '保密', --枚举值默认从1开始,在使用上是一样的
cls_id INT UNSIGNED NOT NULL );
查看表的创建语句:show create table 表名;
查看表结构:desc 表名 或 show columns from 表名;
显示数据表的详细索引信息,包括PRIMARY KEY(主键):SHOW INDEX FROM 表名:
修改表结构:alter add/modify/change
其中:alter是针对于不存在的字段,例如:添加字段名称
add/modify是针对于已经存在的字段,例如:修改字段类型
change:修改字段名和类型、约束
alter table 表名 add 新加字段 字段约束
例:alter table student add birthday datetime default “2011-11-11 11:11:11”
修改已经存在的字段的类型:
alter table student modify birthday date default "2011-11-11";
修改已经存在的字段名:
alter table student change 旧名称 新名称 date default "2011-11-11";
alter table student change birthday birth date default "2011-11-11";
删除字段:alter table 表名 drop 字段名;
例:alter table student drop birth;
删除表:drop table 表名;
四、数据的增删改查
1、增加insert
(1)全列插入:值与表的字段顺序一一对应
(在实际开发中用的不多,如果表结构一旦发生变化,全列插入就会发生错误)
insert into 表名 values (值1,值2);
(2)指定列插入:
insert into 表名 (列1,列2,……) values (值1,值2,……)
insert into student (name,high,cls_id) values('夏夏',111,2);
(3)多行插入
insert into 表名 (列1,列2,……) values (值1,值2,……), values (值1,值2,……)
2、修改update
update 表名 set 列1=值1,列2=值2 [where 条件]
没有where进行条件限制就是全表更新
4、 删除delete
物理删除:delete from 表名 [where 条件判断]
delete from student; --会删除表内所有内容
where:数据库中常用的是where关键字,用于在初始表中筛选查询。它是一个约束声明,用于约束数据,在返回结果集之前起作用。
group by:对select查询出来的结果集按照某个字段或者表达式进行分组,获得一组组的集合,然后从每组中取出一个指定字段或者表达式的值。
having:用于对where和group by查询出来的分组经行过滤,查出满足条件的分组结果。它是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作。
执行顺序:select –>where –> group by–> having–>order by
五、数据的其它操作
1、UNION :用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
参数
expression1, expression2, ... expression_n: 要检索的列。
tables: 要检索的数据表。
WHERE conditions: 可选, 检索条件。
DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
ALL: 可选,返回所有结果集,包含重复数据。
总结:
UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;
使用SQL实现数据操作的更多相关文章
- SQL大数据操作统计
SQL大数据操作统计 1:select count(*) from table的区别SELECT object_name(id) as TableName,indid,rows,rowcnt FROM ...
- SQL语言-----数据操作
数据操作 增加数据,insert into 标准格式 insert into 表名 (字段的列表)value(数据列表): 使用set insert into 表名 set 字段1=值,2.....: ...
- SQL语句 - 数据操作
表中数据的变化牵一发而动全身,会同时导致到索引中数据的变化.因此如果查询语句不需要索引,就应该删除无用的索引以提高效率. 一.INSERT语句 1.基本插入语句 insert用于向表中输入数据,其具体 ...
- ODPS SQL <for 数据操作语言DML>
基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...
- MySQL SQL DML (数据操作语言)
包括 SELECT, UPDATE, DELETE, INSERT SELECT 从数据库表中获取数据 用法 SELECT name FROM students; SELECT name,age FR ...
- 数据库_8_SQL基本操作——数据操作
SQL基本操作——数据操作 一.新增数据(两种方案) 方案1: 给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致,凡是非数值数据,都需要使用引号(建议是 ...
- SQL不同服务器数据库之间的数据操作整理(完整版)
---------------------------------------------------------------------------------- -- Author : htl25 ...
- 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
随机推荐
- CRC循环冗余校验码
原文转载自:https://blog.csdn.net/hm108106/article/details/73332465 1.CRC CRC循环冗余校验码是数据通信中的一种查错校验码. 循环冗余检查 ...
- 前端工程化的的理解,浅谈web工程化的开发流程
1. 什么是前端工程化 自有前端工程师这个称谓以来,前端的发展可谓是日新月异.相比较已经非常成熟的其他领域,前端虽是后起之秀,但其野蛮生长是其他领域不能比的.虽然前端技术飞快发展,但是前端整体的工程生 ...
- 通过原生js对DOM事件的绑定的几种方式总汇
在网页开发中经常会有交互操作,比如点击一个dom元素,需要让js对该操作做出相应的响应,这就需要对Dom元素进行事件绑定来进行处理,js通常有三种常用的方法进行事件绑定:在DOM元素中直接绑定:在Ja ...
- 关键字 package 和 import
1. package的使用 1.1 使用说明: * 1.为了更好的实现项目中类的管理,提供包的概念 * 2.使用package声明类或接口所属的包,声明在源文件的首行 * 3.包,属于标识符,遵循标识 ...
- 状压DP之炮兵阵地
题目 原题来自:\(NOI 2001\) 司令部的将军们打算在\(N*M\) 的网格地图上部署他们的炮兵部队.一个\(N*M\)的地图由\(N\)行\(M\)列组成,地图的每一格可能是山地(用 H表示 ...
- 重学 Java 设计模式:实战模版模式「模拟爬虫各类电商商品,生成营销推广海报场景」
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 黎明前的坚守,的住吗? 有人举过这样一个例子,先给你张北大的录 ...
- 十年老苹果(A1286)强升Catalina及Win10踩坑记
前言 手头有一台十年老苹果,MacBook Pro,A1286,连视网膜屏都没有,电池也早就衰减以后直接拆掉了(减重). 早些年用得还挺多,后来家里也弄了台式,用得逐渐少了,再后来时不时Windows ...
- Idea JAVA开发工具快速上手-常用快捷键汇总
前言: 之前一直使用Eclipse 系列开发IDE工具,由于eclipse是开源的所以,一般情况,eclipse基本上每一个java入门者的首选开发工具,其次 Myeclipse.不过现在越来越多的人 ...
- 数据可视化之powerBI基础(十三)熟练使用Power BI的日期切片器
https://zhuanlan.zhihu.com/p/64416522 交互式设计可以让用户使用的过程中更具参与感,在PowerBI中经常用到的交互方式就是切片器,利用它可以从不同维度查看数据,切 ...
- drf源码剖析系列(系列目录)
drf源码剖析系列(系列目录) 01 drf源码剖析之restful规范 02 drf源码剖析之快速了解drf 03 drf源码剖析之视图 04 drf源码剖析之版本 05 drf源码剖析之认证 06 ...