SQL Server数据库学习之 -- 常用语句一

来源:互联网 发布:matlab矩阵最大值位置 编辑:程序博客网 时间:2024/06/05 23:18

USE [B2C2]  -- 使用B2C2数据库GOSET ANSI_NULLS ON  -- 用于设置编码格式GO-- 设置为ON,确保计算机列或索引视图上带索引的表上的create/update/insert/delete可用SET QUOTED_IDENTIFIER ONGO  -- 在这里,需要加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_insertSET IDENTITY_INSERT tb_person04 OFF;   -- 关闭表tb_person04的identity_insertINSERT 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;


原创粉丝点击