数据库开发---SQL语句总结(1)
2017-06-28 23:13
453 查看
SQL注入
SQL约束
SQL约束主要有以下几种:1,主键约束
主键(PRIMARY KEY)约束在表中定义一个主键,唯一地标识表中的列。一个表有且只有一个主键约束。每个表都应有一个主键。主键可以是一个列或几个列的组合。
如果已有主键约束,可以对其进行修改或删除。修改就是先删除后创建。
主键的规则是无空值无重复值,所以当向表中现有列表中添加主键约束时SQLServer会先检查数据是否遵从主键的规则,若有不再执行此操作并返回错误信息。
创建主键主要有两种方法:1,图形化工具,2,SQL语句
创建表时创建主键约束
CREATE TABLE staff(
staffId CHAR(15) PRIMARY KEY NOT NULL COMMENT '员工编号',
NAME VARCHAR(10) NOT NULL COMMENT '员工姓名',
sex CHAR(2) NOT NULL COMMENT '员工性别',
departId CHAR(3) NOT NULL COMMENT '员工所属部门编号'
);
向已有表中添加主键约束
ALTER TABLE staff ADD CONSISTENT pk_staffId_departId PRIMARY KEY (staffId,departId);
删除主键约束
ALTER TABLE DROP CONSISTENT pk_staffId_departId;
2,唯一键约束
使用UNIQUE约束可以确保在非主键列中不输入重复值。在允许空值的列上保证唯一性时,应使用UNIQUE约束而不是PRIMARY KEY约束,不过在该列中只允许一个NULL值。
一个表中可以定义多个UNIQUE约束,但只能定义一个PRIMARY KEY约束,FOREIGN KEY 约束也可以引用UNIQUE 约束。
创建表时创建唯一性约束
向已有表中添加唯一性约束
删除唯一约束
3,检查约束
检查(CHECK)约束是限制用户输入某一列的数据取值,即该列只可以输入一定范围的数据。在现有表添加CHECK约束时,该约束既可以只作用于新数据,也可以同时作用于已有的数据。默认设置是CHECk约束同时作用于新数据和已有数据。
创建表时创建检查约束
向已有表中添加检查约束
删除检查约束
4,默认值约束
默认值约束是指用户未添加某列的数据时,数据库系统为用户自动提供的默认值。创建表时创建默认值约束
向已有表中添加默认值约束
删除默认值约束
5,外键约束
外键(FOREIGN KEY)约束用于强制实现表之间的参照完整性,外键必须和主表的主键或唯一键对应,外键约束不允许为空值,但是多列组合的外键允许其中某列含有空值。如果组合外键的某列含有空值,则将跳过该外键约束的检验。
创建表时创建外键约束
向已有表中添加外键约束
删除外键约束
==========================================================================================================
SQL常用命令
简单点的:创建两个表:员工表,部门表
CREATE TABLE命令
/*-创建员工表-*/CREATE TABLE staff(
staffId CHAR(15) PRIMARY KEY NOT NULL COMMENT '员工编号',
NAME VARCHAR(10) NOT NULL COMMENT '员工姓名',
sex CHAR(2) NOT NULL COMMENT '员工性别',
departId CHAR(3) NOT NULL COMMENT '员工所属部门编号'
);
/*-创建部门表-*/
CREATE TABLE depart(
departId CHAR(3) PRIMARY KEY COMMENT '部门编号',
departName VARCHAR(10) NOT NULL COMMENT '部门名称'
);
INSERT命令
INSERT INTO depart VALUES(101,'行政部');INSERT INTO depart VALUES(102,'人事部');
INSERT INTO depart VALUES(103,'财务部');
INSERT INTO depart VALUES(104,'客服部');
INSERT INTO depart VALUES(105,'技术部');
INSERT INTO depart VALUES(106,'市场部');
INSERT INTO staff VALUES(201701011010001,'行政1号','女',101);
INSERT INTO staff VALUES(201701011010002,'行政2号','女',101);
INSERT INTO staff VALUES(201701011010003,'行政3号','女',101);
INSERT INTO staff VALUES(201701011020001,'人事1号','男',102);
INSERT INTO staff VALUES(201701011020002,'人事2号','女',102);
INSERT INTO staff VALUES(201701011020003,'人事3号','男',102);
INSERT INTO staff VALUES(201701011020004,'人事4号','女',102);
INSERT INTO staff VALUES(201701011020005,'人事5号','男',102);
INSERT INTO staff VALUES(201701011030001,'财务1号','女',103);
INSERT INTO staff VALUES(201701011030002,'财务2号','女',103);
INSERT INTO staff VALUES(201701011030003,'财务3号','女',103);
INSERT INTO staff VALUES(201701011040001,'客服1号','女',104);
INSERT INTO staff VALUES(201701011040002,'客服2号','女',104);
INSERT INTO staff VALUES(201701011050001,'技术1号','男',105);
INSERT INTO staff VALUES(201701011050002,'技术2号','男',105);
INSERT INTO staff VALUES(201701011050003,'技术3号','男',105);
INSERT INTO staff VALUES(201701011050004,'技术4号','男',105);
INSERT INTO staff VALUES(201701011050005,'技术5号','男',105);
INSERT INTO staff VALUES(201701011050006,'技术6号','女',105);
INSERT INTO staff VALUES(201701011060001,'市场1号','男',106);
INSERT INTO staff VALUES(201701011060002,'市场2号','男',106);
INSERT INTO staff VALUES(201701011060003,'市场3号','女',106);
员工编号设置规则:入职时间+部门编号+部门入职人次。实际上公司员工可能从一个部门调到其他部门,如此就需要更改员工编号,所以,实际情况要灵活设置,这里仅此举例。
UPDATE命令
-- 把员工编号为 201701011010001的员工姓名改为 AmyChrisUPDATE staff SET NAME='Amychris' WHERE staffId=201701011010001;-- 单列修改
-- 把员工编号为201701011010002的员工姓名改为 胡歌,性别改为 男
UPDATE staff SET NAME='胡歌',sex='男' WHERE staffId=201701011010002;-- 多列修改
DELETE命令
-- 删除员工编号为201701011050004 的员工信息DELETE FROM staff WHERE staffId='201701011050004';
-- 删除员工编号为201701011050005 的员工信息
DELETE FROM staff WHERE staffId='201701011050005';
SELECT命令
-- 查询depart表的所有信息SELECT * FROM depart;
-- 查询staff表的所有信息
SELECT * FROM staff;
------2017.06.30
以上命令基于mysql数据库设计操作的,使用图形化管理工具:SQLyog。
刚学习展翅的小菜鸟,如有错误,还望同行前辈指点纠正。你的每一次建议都是对我莫大的帮助和鼓励,小菜鸟在此谢过。
相关文章推荐
- 数据库开发SQL语句总结
- Visual C# 2008+SQL Server 2005 数据库与网络开发-- 9.3 XML相关的SQL语句使用
- 在程序开发中怎样写SQL语句可以提高数据库的性能
- 黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)
- 软件开发中数据库常用SQL语法,SQL语句大全收藏
- vc++学生选课系统开发 sql语句操作数据库 学生界面模块
- Visual C# 2008+SQL Server 2005 数据库与网络开发--9.4.1 在模板中使用T-SQL语句
- 数据库SQL语句的小总结
- orcal 数据库 sql语句优化总结
- 数据库SQL语句的小总结
- 最近在做hibernate开发时,控制台打印出了sql语句,但数据库没记录
- 本人开发系统--新生报到与数据统计管理系统--数据库设计及相关查询SQL语句笔记
- [数据库]简单SQL语句总结
- sql语句读取dbf文件_sql语句_数据库开发
- 数据库总结--SQL语句执行顺序
- C#和SQL Server2000数据库连接,查询语句总结
- 在程序开发中怎样写SQL语句可以提高数据库的性能
- sql语句读取dbf文件_sql语句_数据库开发
- 数据库sql语句的exists总结
- vc++学生选课系统开发 sql语句操作数据库 修改课程名模块