SQL Sever基本知识

一、SQL中表的基本操作命令

0x1 表的创建

create table tablename(col_name1 type,col_name2 type,...) 在数据库school下创建一个student表,包含字段有id,name,age,sex

Create table student(id int,name varchar(64),age int,sex varchar(10));
 

0x2 查看表结构

describe tablename;(describe ->desc) 查看数据库school下的student表结构。

Desc student;
 

0x3 表的删除

drop table tablename; 删除数据库school下的student表。

Drop table student;
 

0x4 插入数据

Insert into tablename(col_name1,col_name2,...) values (value1,value2,...); 如果插入的数据是字符型用单引号包裹。 在表student(前提是表存在)中插入一行数据集(1,’小明’,12,’男’)

Insert into student(id,name,age) values(1,’小明’,12,’男’);
 

0x5 查看数据

Select col_name1,col_name2,... from tablename; 如果要查看所有字段(列),除了可以列出所有列名外,可以使用“*”代替。 Select *. from tablename where condition; 其中condition是查看的数据的条件语句 查看表student(前提是表存在表)的数据

Select * from student;
 

0x6 修改数据

Update tablename set col_name1=new_value1,col_name2=new_value2,...where condition; 其中condition是修改数据的条件语句 修改表student(前提是表存在表)中id=1的数据,使name=’张三’

Update student set name=’张三’ where id = 1;
 

0x7 删除数据

Delete from tablename where condition; 删除表student(前提是表存在表)中,id=1的数据

Delete from student where id=1;
 

二、SQL 数据更新语句

0x1 SQL Server 用命令创建表

USE SPJ;
CREATE TABLE S
(SNO CHAR(2),
SNAME VARCHAR(20) NULL,
STATUS CHAR(4) NULL,
CITY CHAR(10) NULL
PRIMARY KEY(SNO));
 

0x2 通过 SQL 语句向表中插入数据

INSERT INTO S
(SNO,SNAME,STATUS,CITY)
VALUES
('S1','精益','20','天津'),
('S2','盛锡','30','北京'),
('S3','东方红','30','北京'),
('S4','丰泰盛','20','天津'),
('S5','为民','30','上海');
 

0x3 数据更新

①通过 SQL 语句插入数据 将( S2, J6, P4, 200)插入供应情况表 SPJ。

INSERT INTO SPJ VALUES('S2','P4','J6',200);
 

②通过 SQL 语句修改数据 将 SPJ 表中所有元组的 QTY 值增加 100。

UPDATE SPJ SET QTY=QTY+100;
 

将 P 表中全部蓝色零件的颜色修改为绿色。

UPDATE P SET COLOR='绿' WHERE COLOR='蓝';
 

③通过 SQL 语句删除数据 将 SPJ 表中 SNO 为 S2 且 PNO 为 P4 的元组删除

DELETE FROM SPJ WHERE SNO='S2' AND PNO='P4';
 

三、数据完整性的管理

0x1 添加实体完整性

a) 设置单个主键 将“Student”表中的“Sno”字段设为主键:

ALTER TABLE Student add constraint pk_Sno primary key(Sno);
 

注意: 若未设置 Sno 非空, 则需要先添加域完整性。

ALTER TABLE Student ALTER COLUMN Sno CHAR(9) NOT NULL;
 

b) 设置多个主键 将“SC”表的“Sno”和“Cno”设置为主键:

ALTER TABLE SC add constraint pk_SnoCno primary key(Sno,Cno);
 

0x2 添加域完整性

a)将 Student 表中“Ssex”字段设置为只能取“男”,“女”两值:

ALTER TABLE Student ADD CONSTRAINT CK_Ssex CHECK(Ssex IN('男','女'));
 

b)表 Student 添加一身份证号字段, 设置其惟一性。

ALTER TABLE Student ADD ID CHAR(18) UNIQUE(ID);
 

c)设置 Student 表中“Sno”字段只能输入数字:

ALTER TABLE Student ADD CONSTRAINT CK_Sno
CHECK(Sno LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]');
 

d)设置男生的年龄必须大于 22, 女生的年龄必须大于 20:

ALTER TABLE Student ADD CONSTRAINT CK_age
CHECK(Ssex='男' AND Sage>=22 OR Ssex='女' AND Sage>=20);
 

e)表 Student 添加一身份证号字段, 设置其惟一性。

ALTER TABLE Student ADD ID CHAR(18) UNIQUE(ID);
 

0x3 添加域完整性

将“Student”表和“SC”表中的“Sno”字段设为参照:

ALTER TABLE SC ADD CONSTRAINT FK_Sno
FOREIGN KEY(Sno) REFERENCES Student(Sno);
 

0x4 添加域完整性

对 SC 表, 取消外键 Sno 约束;

Alter table tablename drop constraint constraint_name;
 

除特别注明外,本站所有文章均为慕白博客原创,转载请注明出处来自https://geekmubai.com/code/684.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏极客慕白的成长之路

MySQL从安装到使用

Columns 列;Indexes 索引;Views 视图;Events 事件;Fields 字段;

10040
来自专栏Linyb极客之路

深入理解MySQL索引原理和实现——为什么索引可以加速查询?

说到索引,很多人都知道“索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这...

19530
来自专栏lgp20151222

技术无关 自己写的项目 一些数据库的想法

+----------+--------------+------+-----+---------+----------------+ | Field    |...

8730
来自专栏技术博文

mysql UNIX时间戳与日期的相互转换

UNIX时间戳转换为日期用函数: FROM_UNIXTIME() select FROM_UNIXTIME(1156219870); 日期转换为UN...

40380
来自专栏Java后端生活

MySQL(十二)DML数据的增删改

16560
来自专栏文渊之博

mysql表分区简述

数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应...

14830
来自专栏有趣的django

14.MySQL(二) 数据之表操作表内容操作Mysql 连接事务外键

数据之表操作 1.创建表 语法:CREATE TABLE table_name (column_name column_type); create table...

37290
来自专栏Java帮帮-微信公众号-技术文章全总结

MySQL全部知识点(2)

6 聚合函数 聚合函数是用来做纵向运算的函数: l COUNT():统计指定列不为NULL的记录行数; l MAX():计算指定列的最大值,如果指定列是字符串类...

36170
来自专栏后台日记

Mysql INSERT ON DUPLICATE KEY UPDATE

INSERT ... ON DUPLICATE KEY UPDATE是MySQL insert的一种扩展。当发现有重复的唯一索引(unique key)或者主键...

16530
来自专栏互联网开发者交流社区

SQL一次查出相关类容避免长时间占用表(下)

12240

扫码关注云+社区

领取腾讯云代金券