MySQL基本sql语句总结
约束
主键约束
- primary key
- primary key(字段名...)
外键约束
constraint fk_table1_table2 foreign key(字段) references table2(字段)
其它约束
- unique
- not null
- default
- auto_increment
CREATE TABLE t_emp(
id INT PRIMARY KEY auto_increment,
name VARCHAR(22) not null unique,
sex VARCHAR(2) DEFAULT '男'
) DEFAULT CHARSET=utf8;
表操作
查看表结构与修改表名
查看数据表基本结构
desc 表名
查看数据表详细结构
show create table 表名 \G
不仅可以返回给我们建表时所写的详细语句,而且还可以查看存储引擎和字符编码
修改表名
ALTER TABLE 旧表名 RENAME 新表名;
修改字段名与字段数据类型
修改字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
修改字段数据类型
ALTER TABLE 表名 MODIFY 字段名 数据类型;
添加与删除字段
- first 在表的第一列添加字段
- after 在表的指定列后添加字段
- drop 删除字段
修改字段的排列位置
ALTER TABLE 表名 MODIFY 字段1 数据类型 FIRST|AFTER 字段2;
删除表的外键约束
ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名;
增删改
插入数据
INSERT INTO 表名 (字段名) VALUES (内容), (内容), (内容)...;
更新数据
UPDATE 表名 SET 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 WHERE 过滤条件;
删除数据
DELETE FROM 表名 WHERE 条件语句;
清空表
TRUNCATE 表名
查询
单表查询
SELECT 字段名 FROM 表名;
带in关键字的查询
SELECT 字段名 FROM 表名 WHERE 字段名 (not) IN (n1,n2,n3,...);
范围查询
SELECT 字段名 FROM 表名 WHERE 字段名 (not) BETWEEN n1 AND n2;
带like的字符匹配查询
- 使用通配符
%模糊匹配数据内容(百分号通配符%可以匹配任意长度的字符,甚至包括零字符。)
SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符%';
- 使用通配符
_模糊匹配数据内容(下划线通配符_只能模糊匹配1个字符。)
SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符_';
- 使用通配符
查询空值与去除重复结果
int (not) null
去重
SELECT DISTINCT 字段名 FROM 表名;
带 AND 与 OR 的多条件查询
SELECT 字段名 FROM 表名 WHERE 表达式1 AND / OR 表达式2;
对查询结果进行排序
SELECT 字段名 FROM 表名 ORDER BY 字段名 [ASC[DESC]];
分组查询
SELECT 字段名 FROM 表名 GROUP BY 字段名;
限制查询
SELECT 字段名 FROM 表名 LIMIT [OFFSET,] 记录数;
第一个参数,
OFFSET,可选参数,表示偏移量第二个参数,记录数,表示返回查询结果的条数
连接查询
内连接查询
表1 [inner] join 表2 on 表1.字段=表2.字段
外连接查询
表1 left/right [outer] join 表2 on 表1.字段=表2.字段
子查询
带比较运算符的子查询
eg:
select name, age from tb_emp where age > (select avg(age) from tb_emp);
关键字子查询
tb_salary
id position salary 1 Java 8000 2 Java 8400 3 Java 9000 4 Python 6500 5 Python 10000 #1.使用 ALL 关键字进行查询
select position, salary from tb_salary where salary > all (select salary from tb_salary where position = 'Java');
#2.使用 ANY 关键字进行查询
select position, salary from tb_salary where salary > any (select salary from tb_salary where position = 'Java');
#3.使用 IN 关键字进行查询
select position, salary from tb_salary where position in ('Java');
视图
创建视图
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
删除视图
DROP VIEW view_name;
MySQL基本sql语句总结的更多相关文章
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- MySQL数据库sql语句的一些简单优化
1.查询条件的先后顺序 有多个查询条件时,要把效率高能更精确筛选记录的条件放在后边.因为MySQL解析sql语句是从后往前的(不知是否准确). 例: select a.*,b.* from UsrIn ...
- mysql下sql语句 update 字段=字段+字符串
mysql下sql语句 update 字段=字段+字符串 mysql下sql语句令某字段值等于原值加上一个字符串 update 表明 SET 字段= 'feifei' || 字段; (postgr ...
- MySQL数据库SQL语句基本操作
一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: renam ...
- mysql执行sql语句过程
开发人员基本都知道,我们的数据存在数据库中(目前最多的是mysql和oracle,由于作者更擅长mysql,所以这里默认数据库为mysql),服务器通过sql语句将查询数据的请求传入到mysql数据库 ...
- MySQL与SQL语句的操作
MySQL与SQL语句的操作 Mysql比较轻量化,企业用的是Oracle,基本的是熟悉对数据库,数据表,字段,记录的更新与修改 1. mysql基本信息 特殊数据库:information_sche ...
- mysql 操作sql语句 目录
mysql 操作sql语句 操作数据库 mysql 操作sql语句 操作数据表 mysql 操作sql语句 操作数据表中的内容/记录
- 不登录到MySQL执行SQL语句
mysql -e 不登录到MySQL执行SQL语句 mysql -u root -p -e "SHOW DATABASES"
- mysql优化sql语句
mysql优化sql语句 常见误区 www.2cto.com 误区1: count(1)和count(primary_key) 优于 count(*) 很多人为了统计记录条数,就使 ...
随机推荐
- C语言风格的 for 循环(SHELL的循环写法 已验证20200517)
C语言风格的 for 循环 C语言风格的 for 循环的用法如下: for((exp1; exp2; exp3))do statementsdone 几点说明: exp1.exp2.exp3 是 ...
- Linux_网络进阶管理
一.链路聚合 1.什么是链路聚合? 网卡的链路聚合就是将多块网卡连接起来,当-块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度. 2.链路聚合方式: ...
- nginx 的常用模块
nginx的常用模块 ngx_http_index_module Syntax: index file ...; Default: index index.html; Context: http, s ...
- Cron 定时任务命令-配置文件详解
定时任务 定时任务的作用 1.系统级别的定时任务 临时文件清理 系统信息采集 日志文件切割 2.用户级别的定时任务 定时向互联网同步时间 定时备份系统配置文件 定时备份数据库的 ...
- PID基础
经常有人会问到PID的用法,今天小编在这里例举温度控制中的PID部分,希望能够把PID的具体应用说明白. 先说几个名词: 1.直接计算法和增量算法:这里的所谓增量算法就是相对于标准算法的相邻两次运算之 ...
- Synchronize 和 volatile 的区别
1. 在应用层面来讲 a. volatile是线程同步的轻量级实现,所以volatile的性能要比synchronize好: volatile只能用于修饰变量,synchronize可以用于修饰方法. ...
- Python+Selenium自动化-获取页面信息
Python+Selenium自动化-获取页面信息 1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import t ...
- Python+Selenium学习笔记11 - python官网的tutorial - 定义函数
1 def f(a, L=[]): 2 L.append(a) 3 return L 4 5 print f(5) 6 print f(2) 输出 1 def f(a, L=None): 2 if L ...
- Waymo的自主进化
Waymo的自主进化 3月初,Waymo在推特上宣布,共获得了22.5亿美元(约合人民币156亿元)融资,由Silver Lake(银湖资本).Canada Pension Plan Investme ...
- MindInsight训练可视整体设计介绍
MindInsight训练可视整体设计介绍 MindInsight是MindSpore的可视化调试调优组件.通过MindInsight可以完成训练可视.性能调优.精度调优等任务. 训练可视功能主要包括 ...