sql语句增删改查与子查询
修改表
修改表
语法:
Alter table <旧表名> rename [ TO] <新表名>;
例子:Alter table `demo01` rename `demo02`;
添加字段
语法:
Alter Table 表名 ADD 字段名 数据类型 [属性];
例子:Alter Table `Demo02` ADD `passWord` varchar(50) not null;
修改字段
语法:
Alter table 表名 change 原字段名 新字段名 数据类型 [属性];
%修改字段名%
Alter Table `Demo02` change `name` `username` char(10) NOT NULL;
删除字段
删除字段是将数据表中的某个字段从表中移除:
语法: ALTER TABLE 表名 DROP 字段名;
添加主外键
1.添加主键约束
语法: ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);
2.添加外键约束
语法: ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES 关 联表名(关联字段);
DML语句回顾
插入数据记录
1.插入单行数据
语法: INSERT INTO 表名 [(字段名列表)] VALUES (值列表);
2.插入多行数据
语法:INSERT INTO 新表 (字段名列表) VALUES (值列表1), (值列表2), ......, (值列表n);
注意:在是INSERT语句插入记录时,如果不包含字段名称,VALUES后值列表中各字段的顺序必须和表定义中各字段的顺序相同,如果表结构变了 (如执行了添加数据操作) 则值列表也要变化,否则会出现错误.如果指定了插入的字段名,就会避免这个问题,因此,建议在插入数据时指定具体字段名.
3.将查询结构插入到新表
语法1:
INSERT INTO 新表(字段1,字段2,......)
SELECT 字段1,字段2,......
FROM 原表;
语法2:
CREATE TABLE 新表 (SELECT 字段1,字段2, ........FROM 原表);
更新数据记录
语法: UPDATE 表名 SET 字段1=值1,字段2=值2,........字段n=值n [WHERE 条件];
删除数据记录
语法: DELETE FROM 表名 [WHERE条件];
语法: TRUNCATE TABLE 表名;
数据查询
DQL语句回顾
SQL Server中数据查询语句:
语法: SELECT<字段名列表>
FROM<表名或视图>
[WHERE <查询条件>]
[GROUP BY <分组的字段名>]
[HAVING <条件>]
[ORDER BY <排序的字段名> [ASC 或 DESC]];
LIMIT子句
语法: SELECT<字段名列表>
FROM<表名或视图>
[WHERE <查询条件>]
[GROUP BY <分组的字段名>]
[ORDER BY <排序的字段名> [ASC 或 DESC]]
[LIMIT [位置偏移量, ]行数];
其中:1.位置偏移量指从结果集中第几条数据开始显示(第一条记录的位置偏移量是0,第2条 是1,....),当省略时从第一条记录开始显示.
2.行数值显示记录的条数
常用函数
常用聚合函数:
AVG() |
返回某字段的平均值 |
COUNT() |
返回某字段的行数 |
MAX() |
返回某字段的最大值 |
MIN( ) |
返回某字段的最小值 |
SUM( ) |
返回某字段的和 |
函数名 |
作用 |
常用的字符串函数
函数名 |
作用 |
举例 |
CONCAT(str1,str2,...,strn) |
连接字符串str1,str2,...,strn为一个完整字符串 |
SELECT CONCAT(‘My’,’S’,’QL’); 返回:MySQL |
INSERT(str,pos,len,newstr) |
将字符串str从pos位置开始,len个字符长的子串替换为字符串newstr |
SELECT INSERT(‘这是SQL SERVER数据库’,3,10,’MySQL’); 返回:这是MySQL数据库 |
LOWER(str) |
将字符串str中所有字符变为小写 |
|
UPPER(str) |
将字符串str中所有字符串变为大写 |
SELECT UPPER(‘MySQL’); 返回: MYSQL |
SUBSTRING(str,num,len) |
返回字符串str的第num个位置开始长度为len的子字符串 |
3.时间日期函数
函数名 |
作用 |
举例 |
CURDATE() |
获取当前日期 |
SELECT CURDATE(); |
CURTIME() |
获取当前时间 |
|
NOW() |
获取当前日期和时间 |
|
WEEK(date) |
返回日期date为一年的第几周 |
|
YEAR(date) |
返回日期date的年份 |
|
HOUR(time) |
返回时间Time的小时值 |
|
MINUTE(time) |
返回时间Time的分钟值 |
|
DATEDIFF(date1,date2) |
返回日期参数date1和date2之间相隔的天数 |
|
ADDDATE(date,n) |
计算日期参数date加上n天后的日期 |
4.数字函数
函数名 |
作用 |
举例 |
CEIL(x) |
返回大于或等于数值x的最小整数 |
SELECT CEIL(2.3) 返回:3 |
FLOOR(x) |
返回小于或等于数值x的最大整数 |
|
RAND() |
返回0~1间的随机数 |
子查询
简单子查询
语法:SELECT ...FROM 表1 WHERE 字段1 比较运算符(子查询);
使用AS关键字,符合ANSI标准
SELECT 字段列表 FROM 表名 AS 表的别名;
使用空格,简便的方法
SELECT 字段列表 FROM 表名 表的别名;
IN和NOT IN 子查询
IN子查询
使用子查询 当返回结果有多条记录时,则把条件的 =改为 in
IN子查询后面可跟随返回多条记录的子查询,用于检测某字段的值是否存在于某个范围中.
NOT IN子查询
不在IN子查询范围内的其他数据.
转载于:https://www.cnblogs.com/invincibleDeng/p/7605111.html
sql语句增删改查与子查询相关推荐
- MYSQL中常用的SQL语句(增删改查)
MYSQL中常用的SQL语句 一.增删改查 1.新增 指定字段插入: INSERT INTO <表名> (<字段1>, <字段2>, <字段3>) VA ...
- php pdo 更新sql语句,增删改查sql语句及PDO数据库连接操作流程实例-2019年7月24日...
一.增删改查sql语句语法: 增: INSET INTO `表名` SET `字段名`=值 (也可写别名用,值前面加冒号->:别名): 删: DELETE FROM `表名` WHERE `字 ...
- SQL语句(增删改查)
个人感觉SQL语句不用刻意的去记忆,多使用,用到的时候忘记了就查找一下,使用的频繁,自然就记住了. SQL语句使用:数据库操作SQL.数据表操作SQL.数据记录操作SQL (一)数据库SQL 1.创建 ...
- SQL语句增删改查公司-员工3表典型案例
基础原生SQL增删改查,一般公司业务表,必知必会基础流程! 程序开发之大法,从数据库开始,不管是sqlserver,Oracle数据库还是其他MySQL等等的数据库.都是从写SQL语句开始.需要您必知 ...
- SQL语句增删改查/高级查询
有道笔记查看常用sql语句 sql高级查询语句 SQL语句规范 分号结尾 关键词大小写不区分 创建/删除数据库 创建:CREATE DATABASE 数据库名 ysj_example; 删除:DROP ...
- 数据库知识点+sql语句增删改查(详解)
# 数据库相关SQL 1.查询所有数据库 - 格式: show databases; 2.创建数据库 - 格式: create database 数据库名 charset=utf8/gbk; - 举例 ...
- 详解数据库引擎与SQL语句增删改查(非常详细,带例)
数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...
- 基本sql语句--增删改查
增 insert into 表名 values (值1,值2...): 也可以指定所要插入的列: insert into 表名 (列1,列2...) values (值1,值2...); 注:一般My ...
- SQL(一) —— 增删改查
SQL基础模块 SQL(一) -- 增删改查 一.初识数据库 1.1 DBMS的种类 1.2 RDBMS的常见系统结构 1.3 SQL 二.增删改查 2.1 数据类型 2.2 数据库操作 2.3 数据 ...
最新文章
- 为什么下一个SaaS公司绝不会效仿Salesforce?
- Metasploit+python生成免杀exe过360杀毒
- Spring Web Flow实例教程
- 浅谈:Wi-Fi 6的优势及应用前景
- SpringMVC拦截器-用户登录权限控制代码实现1
- springSecurity源码分析-springSecurityFilterChain
- SqlAlchemy初探
- 使用 OpenLDAP 集中管理用户帐号
- [PAT乙级]1016 部分A+B
- Bootstrap 中: data-toggle 与 data-target 的作用
- 9年120亿,美的数字化转型纪实
- django 热启动_传统的Web框架如何部署在Serverless架构上(以Flask为例)
- 凸优化笔记(非常零碎)
- Java	Script之创建对象
- protected的继承方式有什么特点_酿酒:大曲酒有哪些配料方式?有什么特点?
- android 播放器 samba,超强本地播放器一款支持samba、FTP/Windows共享服务-简单不折腾...
- lua入门之二table
- Linux下Firefox和chrome浏览器flash插件的安装
- php 考试系统 倒计时,php实现倒计时效果_PHP
- win10浏览器加载很慢_解决Win10 Edge浏览器打开网页慢的问题
热门文章
- Android SoundPool.play方法的音量与系统音量的关系
- Docker入门与七牛kirk工具
- 在eclipse中把项目部署到tomcat中时,发现项目文件不完整
- 网上搜集第三方(一)
- Replica small data to PostgreSQL from Oracle's Big table
- 疯狂ios讲义疯狂连载之日期选择器(UIDatePicker)
- ObjC: Foundation Kit
- Spring AOP之ThrowsAdvice
- THREE TRACKS AT UNIVERSITY
- cambridge phd in engineering