SQL Server数据库学习之 -- 常用语句一
扫描二维码
随时随地手机看文章
USE [B2C2] -- 使用B2C2数据库 GO SET ANSI_NULLS ON -- 用于设置编码格式 GO -- 设置为ON,确保计算机列或索引视图上带索引的表上的create/update/insert/delete可用 SET QUOTED_IDENTIFIER ON GO -- 在这里,需要加Go关键字与下一个CREATE VIEW/ CREATECREATE DEFAULT/CREATE FUNCTION/ -- CREATE PROCEDURE/CREATE RULE/CREATE SCHEMA/CREATE TRIGGER进行区分。 -- 其他地方语句最后添加GO也是同样的道理.(个人推测) --CREATE TABLE tb_person01 --( -- ID int identity(1, 1) PRIMARY KEY NOT NULL, -- identity(seed, increment):设置字段可自增函数, -- -- seed: 起始量; increment: 增量 -- -- PRIMARY KEY: 设置主键约束, -- -- NOT NULL: 设置"不为空"约束 -- NAME varchar(64), -- AGE int, -- sex char(4) --) --GO -- 修改表名 -- 格式:sp_rename tablename,newtablename -- 修改字段名 -- sp_rename 'tablename.colname',newcolname,'column' -- SP_RENAME 'tb_person01.sex', 'SEX', 'COLUMN' -- 经个人检验,该行代码无误。 -- 插入数据 INSERT INTO tb_person01(NAME, AGE, SEX) VALUES('张三', 18, '男'); INSERT INTO tb_person01(NAME, AGE, SEX) VALUES('春花', 16, '女'); INSERT INTO tb_person01(NAME, AGE, SEX) VALUES('李四', 20, '男'); INSERT INTO tb_person01(NAME, AGE, SEX) VALUES('朵蜜', 19, '女'); INSERT INTO tb_person01(NAME, AGE, SEX) VALUES('朵拉', 22, '女'); INSERT INTO tb_person01(NAME, AGE, SEX) VALUES('大牛', 25, '男'); INSERT INTO tb_person01(NAME, AGE, SEX) VALUES('八戒', 26, '男'); -- 简单查询 SELECT NAME, AGE, SEX FROM tb_person01; -- 精确条件查询 =====》 按照年龄大小排序 -- ASC: 升序,DESC:降序 SELECT NAME, AGE, SEX FROM tb_person01 ORDER BY AGE ASC; -- 按照年龄升序排序 SELECT NAME, AGE, SEX FROM tb_person01 ORDER BY AGE DESC; -- 按照年龄降序排序 -- 分组查询 ===> 查询结果:显示2条数据。 -- SEX -- 1 男 -- 2 女 SELECT SEX FROM tb_person01 GROUP BY SEX; -- 分组查询男、女性别成员的平均年龄、最大年龄、最小年龄 SELECT AVG(AGE) AS '年龄平均值' , MIN(AGE) AS '年龄最小值' , MAX(AGE) AS '年龄最大值', SEX FROM tb_person01 GROUP BY SEX; -- 查询性别为'男'的所有成员 SELECT NAME, AGE, SEX FROM tb_person01 WHERE SEX = '男'; -- 查询性别为'女的'所有成员 SELECT NAME, AGE, SEX FROM tb_person01 WHERE SEX = '女'; -- update修改表字段内容信息 UPDATE tb_person01 SET AGE = 526 WHERE NAME = '八戒'; -- update操作依据无误 SELECT NAME, AGE, SEX FROM tb_person01; -- 修改表名 -- 之前所用的表的表名为:tb_person01 -- sp_rename tb_person01, tb_person02; -- 该行语句无误 SELECT NAME, AGE, SEX FROM tb_person01; -- 显示对项名'tb_person01'无效 SELECT NAME, AGE, SEX FROM tb_person02; -- 复制创建表:2种情况 -- (1)、如果目标表不存在,tb_person03表不存在. SELECT * INTO tb_person03 FROM tb_person02; SELECT NAME, AGE, SEX FROM tb_person03; -- (2)、如果目标表存在 CREATE TABLE tb_person04 ( ID int identity(1,1) PRIMARY KEY NOT NULL, NAME varchar(64), AGE INT, SEX char(4) -- Email varchar(512) -- 该字段为遗漏字段,如何在已经创建的tb_person04表中添加呢? ) GO -- 当主键设置成自动增长时,identity_insert默认是off,处于关闭状态. -- 若要往表中插入主键时,需要将identity-insert 设置成on,使其成打开状态. SET IDENTITY_INSERT tb_person04 ON; -- 打开表tb_person04的identity_insert SET IDENTITY_INSERT tb_person04 OFF; -- 关闭表tb_person04的identity_insert INSERT INTO tb_person04(ID, NAME, AGE, SEX) VALUES(8, '悟空', 1527, '男'); SELECT ID, NAME, AGE, SEX FROM tb_person04; -- 往已经存在的表中插入数据 INSERT INTO tb_person04 SELECT NAME, AGE, SEX FROM tb_person02; -- 若在进行整表数据插入时,没有插入‘旧表’的ID, -- 则目标表的ID会自动选择目标表中ID最大值,自动往后增加, DELETE FROM tb_person04 where ID >= 9 AND ID <= 15; -- 通过判断条件,批量删除表中的数据 SET IDENTITY_INSERT tb_person02 ON; INSERT INTO tb_person04(ID, NAME, AGE, SEX) VALUES(1, '沙僧', 528, '男'); INSERT INTO tb_person04(ID, NAME, AGE, SEX) VALUES(2, '白骨精', 1024, '女'); INSERT INTO tb_person04 SELECT NAME, AGE, SEX FROM tb_person02; -- 向已经存在的表中添加‘列’ ALTER TABLE tb_person04 ADD Email varchar(256); SELECT * FROM tb_person04; UPDATE tb_person04 SET Email = 'WuKong@qq.com' WHERE ID = 8;