mysql基础知识(1)
一、基础
模式定义了数据如何存储、存储什么样的数据库以及数据如何分解等信息,数据库和表都有模式。关于数据库的模式可以参考这里:https://blog.csdn.net/liaohong940908/article/details/51906697
主键的值不允许修改,也不允许复用,也就是不能使用已经删除的主键值赋值给新数据的主键。
SQL语句不区分大小写,但是数据库表名、列名是否区分依赖于具体的DBMS以及配置
SQL的注释方式:
①#注释
②select * from mytable --注释
③/*
注释
*/
二、创建表
create table mytable(
id int not null auto_increment,
col1 int not null default 1,
col2 varchar(10) null,
col3 date null,
primary key ('id')
);
三、修改表
添加列
alter table mytable add col4 char(5);
删除列
alter table mytable drop column col;
删除表
drop table mytable;
四、插入
普通插入
insert into mytable (col1,col2) values(val1,val2);
插入搜索出来的数据
insert into mytable (col1,col2) select col1,col2 from mytable;
将一个表的内容插入到一个新表
create table newtable as select * from mytable;
五、更新
update mytable set col=val where id=1;
六、删除
delete from mytable where id=1;
truncate table 清空表,即删除了所有行
七、查询
select distinct col1,col2 from mytable; distinct:相同值只会出先一次,这句就是选择相同的列
select * from mytable limit 5; 限制返回5行
select * from mytable limit 0,5; 限制返回5行
select * from mytable limit 2,3 返回3~5行
八、排序
asc 升序,也是默认
desc 降序
可以按多个列进行排序,并且为每个列指定不同的排序方式:
select * from mytable order by col1 desc,col2 asc;
九、过滤
select * from mytable where col is null
下面显示了where子句可用的操作符:
= 等于 < 小于 > 大于
<> 不等于 != 不等于
<= 小于等于 !> 小于等于
>= 大于等于 !< 大于等于
between 在两个值之间
is null 为null的值 注意:null 与 0 、空字符串都不同
and or 用于连接多个过滤条件,优先处理 AND,当一个过滤表达式涉及到多个 AND 和 OR 时,可以使用 () 来决定优先级,使得优先级关系更清晰。
in 操作符用于匹配一组值,其后也可以接一个 select子句,从而匹配子查询得到的一组值。
not 操作符用于否定一个条件。
十、通配符
% 匹配>=0个任意字符
\ 匹配1个任意字符
[] 可以匹配集合内字符,类似正则表达式;^可以否定其内容。
eg: select * from mytable where col like '[^AB]' 不以A和B开头的任意文本
注意:不要滥用通配符,通配符位于开头处匹配会非常慢。
mysql基础知识(1)的更多相关文章
- mysql基础知识大全
前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里作简单概括性的介绍,具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续会慢慢补充完善. 数据库和数据库软件 数据库是 ...
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- mysql基础知识语法汇总整理(一)
mysql基础知识语法汇总整理(二) 连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...
- MySQL 基础知识梳理
MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...
- MySQL基础知识:启动管理和账号管理
整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...
- MySQL基础知识:创建MySQL数据库和表
虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习. 在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库.表.索引.外 ...
- MySQL基础知识:Character Set和Collation
A character set is a set of symbols and encodings. A collation is a set of rules for comparing chara ...
- mysql基础知识详解
分享一些mysql数据库的基础知识. 1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理.2.服务器会缓存线程.因此并不会为每个新连接创建或者销毁线程.3 ...
- Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
1.基础知识 1.1.数据库概述 简单地说:数据库(Database或DB)是存储.管理数据的容器: 严格地说:数据库是"按照某种数据结构对数据进行组织.存储和管理的容器". 总结 ...
- 一、MySQL基础知识
一.背景介绍 我们每天都在访问各种网站.APP,如微信.QQ.抖音,今日头条等,这些东西上面都存在大量的信息,这些信息都需要有地方存储,存储在哪里呢?数据库. 所有我们需要开发一个网站.APP,数据库 ...
随机推荐
- Nios内部RAM固化配置
选择BSP Editor->Settings ->Advanced->hal->linker,然后勾选allow_code_at_reset.当然如果勾选enable_alt_ ...
- SQL常用增删改查
转 http://www.cnblogs.com/daxueshan/p/6687521.html 1增 1.1[插入单行]insert [into] <表名> (列名) values ( ...
- C#系列之{流和序列化}
不论何种类型的文件都可以表示为一个字节数组.(Byte[]) 一.文件复制 (示例) 首先建立一个类似管道的东西将文件和内存中的程序连接,并将文件按字节发送.为了保存接收到的文件字节,需要创建一个字节 ...
- STL容器(C11)--unordered_set用法
http://www.cplusplus.com/reference/unordered_set/
- hdu5178 pairs
题目 //打注释的是我的代码,一直超时,别人三行代码顶我一坨,同是尺取法,为什么 我的复杂度就这么高呢? #include <cstdio> #include <queue> ...
- 最通熟易懂的Hadoop HDFS实践攻略
HDFS是用来解决什么问题?怎么解决的? 如何在命令行下操作HDFS? 如何使用Java API来操作HDFS? 在了解基本思路和操作方法后,进一步深究HDFS具体的读写数据流程 学习并实践本文教程后 ...
- (原创)c++中的类型擦除
c++11 boost技术交流群:296561497,欢迎大家来交流技术. 关于类型擦除,可能很多人都不清楚,不知道类型擦除是干啥的,为什么需要类型擦除.有必要做个说明,类型擦除就是将原有类型消除或者 ...
- HMAILSERVER集成WEB邮件系统(ROUNDCUBE WEBMAIL)
hMailServer集成web邮件系统(Roundcube Webmail) 文/玄魂 前言 在上篇文章(使用hMailServer搭建邮件服务器)中,介绍了hMailServer的安装和简单配置. ...
- Opencv4.0:遍历Mat图像空间、读取摄像头
GitHub https://github.com/gongluck/Opencv3.4-study.git #include "opencv2/opencv.hpp" using ...
- 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象
本文需要对C#里的LINQ.Lambda 表达式 .委托有一定了解. 在工作中,经常遇到需要对比两个集合的场景,如: 页面集合数据修改,需要保存到数据库 全量同步上游数据到本系统数据库 在这些场景中, ...