修改表
修改表
语法:
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子查询范围内的其他数据.
sql语句增删改查与子查询的更多相关文章
-
【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建
数据库的创建和sql语句增删改查 1. 载入驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, nam ...
-
sql语句增删改查(转)
一.增:有4种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例 ...
-
sql语句增删改查(方便你我Ta)
又自学,把SQL的一些常用语句复习了一遍. 整理如下: 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strde ...
-
SQL 语句(增删改查)
一.增:有4种方法1.使用insert插入单行数据: --语法:insert [into] <表名> [列名] values <列值> 例:insert into Strden ...
-
安卓开发之sql语句增删改查2(利用谷歌封装好的API进行增删改查)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
-
安卓开发之sql语句增删改查
package com.lidaochen.phonecall; import android.content.Context; import android.database.sqlite.SQLi ...
-
详解数据库引擎与SQL语句增删改查(非常详细,带例)
数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...
-
数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)
SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...
-
SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学、字符串、日期时间)函数[转]
SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学.字符串.日期时间)函数 --创建表格 create table aa ( UserName varchar(50 ...
随机推荐
-
WCF学习心得------(二)设计和实现服务协定
设计和实现服务协定 创建服务协定—WCF术语 消息 消息是一个独立的数据单元,它可能由几个部分组成,包括消息正文和消息头. 服务 服务是一个构造,它公开一个或多个终结点,其中每个终结点都公开一个或多个 ...
-
菜鸟学习Spring——初识Spring
一.概念. Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Develop ...
-
leetcode:Minimum Path Sum(路线上元素和的最小值)【面试算法题】
题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right w ...
-
bootstrap 解决弹出窗口(modal) 常见问题
无法使用键盘esc关闭窗口方法: 首先在modal容器的div中增加属性tabindex="-1",其次设置键盘ESC属性keyboard为true: 方法1:使用js打开窗口时 ...
-
[matlab] 22.matlab图论实例 最短路问题与最小生成树 (转载)
最短路问题之 Floyd 某公司在六个城市 c1c1,c2c2,….,c6c6 中有分公司,从 cici 到 cjcj 的直接航程票价记在下述矩阵的 (ii,jj) 位置上. (∞∞表示无直接航路), ...
-
zabbix-Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused
监控zabbix服务端这台服务器,然后显示Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Conne ...
-
STM32中TIMx的映射及其通道
TIMx,通道x,无映射,部分映射,完全映射 TIM1_CH1, PA8, PE9, TIM1_CH2, PA9, PE11 TIM1_CH3, PA10, PE1 ...
-
[luogu2668] 斗地主
题面 这好像就是道**暴搜题, 由于可以回溯, 所以顺序其实没有多大的关系, 见代码吧... 具体代码 #include <iostream> #include <cstring ...
-
我看微软收购GitHub
今天是微软收购GitHub的第三天,之前很多人担心被微软收购的GitHub会步Skype,诺基亚等企业的后尘,凡此种种我觉得更多人的担心是:GitHub不再开源免费罢了. GitHub今年4月刚成立十 ...
-
内置的HTTP服务器【Modern PHP】
目录 启动服务器 配置服务器 路由器脚本 判断是否为内置的服务器 PHP5.4.0起,PHP内置了Web服务器.对本地开发是个极好的工具,便捷,无需安装WAMP.XAMP或大新那个web服务器,就能在 ...