sql语句增删改查与子查询

时间:2022-02-03 00:22:23

修改表

修改表

语法:

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语句增删改查与子查询的更多相关文章

  1. 【黑马Android】&lpar;04&rpar;数据库的创建和sql语句增删改查&sol;LinearLayout展示列表数据&sol;ListView的使用和BaseAdater&sol;内容提供者创建

    数据库的创建和sql语句增删改查 1. 载入驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, nam ...

  2. sql语句增删改查(转)

    一.增:有4种方法 1.使用insert插入单行数据:                  语法:insert [into] <表名> [列名] values <列值>    例 ...

  3. sql语句增删改查(方便你我Ta)

    又自学,把SQL的一些常用语句复习了一遍. 整理如下: 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strde ...

  4. SQL 语句&lpar;增删改查&rpar;

    一.增:有4种方法1.使用insert插入单行数据: --语法:insert [into] <表名> [列名] values <列值> 例:insert into Strden ...

  5. 安卓开发之sql语句增删改查2&lpar;利用谷歌封装好的API进行增删改查&rpar;

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  6. 安卓开发之sql语句增删改查

    package com.lidaochen.phonecall; import android.content.Context; import android.database.sqlite.SQLi ...

  7. 详解数据库引擎与SQL语句增删改查(非常详细,带例)

    数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...

  8. 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)

    SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...

  9. SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 &lpar;数学、字符串、日期时间&rpar;函数&lbrack;转&rsqb;

    SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学.字符串.日期时间)函数   --创建表格 create table aa ( UserName varchar(50 ...

随机推荐

  1. WCF学习心得------(二)设计和实现服务协定

    设计和实现服务协定 创建服务协定—WCF术语 消息 消息是一个独立的数据单元,它可能由几个部分组成,包括消息正文和消息头. 服务 服务是一个构造,它公开一个或多个终结点,其中每个终结点都公开一个或多个 ...

  2. 菜鸟学习Spring——初识Spring

    一.概念. Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Develop ...

  3. 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 ...

  4. bootstrap 解决弹出窗口&lpar;modal&rpar; 常见问题

    无法使用键盘esc关闭窗口方法: 首先在modal容器的div中增加属性tabindex="-1",其次设置键盘ESC属性keyboard为true: 方法1:使用js打开窗口时 ...

  5. &lbrack;matlab&rsqb; 22&period;matlab图论实例 最短路问题与最小生成树 &lpar;转载&rpar;

    最短路问题之 Floyd 某公司在六个城市 c1c1,c2c2,….,c6c6 中有分公司,从 cici 到 cjcj 的直接航程票价记在下述矩阵的 (ii,jj) 位置上. (∞∞表示无直接航路), ...

  6. zabbix-Get value from agent failed&colon; cannot connect to &lbrack;&lbrack;127&period;0&period;0&period;1&rsqb;&colon;10050&rsqb;&colon; &lbrack;111&rsqb; Connection refused

    监控zabbix服务端这台服务器,然后显示Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Conne ...

  7. STM32中TIMx的映射及其通道

    TIMx,通道x,无映射,部分映射,完全映射    TIM1_CH1, PA8,    PE9,    TIM1_CH2, PA9,    PE11    TIM1_CH3, PA10,    PE1 ...

  8. &lbrack;luogu2668&rsqb; 斗地主

    题面 ​ 这好像就是道**暴搜题, 由于可以回溯, 所以顺序其实没有多大的关系, 见代码吧... 具体代码 #include <iostream> #include <cstring ...

  9. 我看微软收购GitHub

    今天是微软收购GitHub的第三天,之前很多人担心被微软收购的GitHub会步Skype,诺基亚等企业的后尘,凡此种种我觉得更多人的担心是:GitHub不再开源免费罢了. GitHub今年4月刚成立十 ...

  10. 内置的HTTP服务器【Modern PHP】

    目录 启动服务器 配置服务器 路由器脚本 判断是否为内置的服务器 PHP5.4.0起,PHP内置了Web服务器.对本地开发是个极好的工具,便捷,无需安装WAMP.XAMP或大新那个web服务器,就能在 ...