SQL语句
1.SQL全名是:结构化查询语言(Structured Query Language),是关系数据库管理系统的标准语言。
2.SQL分为:DDL,DML,DCL,DQL
2.1 DDL(Data Definition Language):数据定义语言,建表,建库等,如:CREATE, ALTER, DROP;
2.2 DML(Data Manipulation Language):数据操作语言,CREATE, ALTER, DROP;
2.3 DCL(Data Control Language): 数据控制语言,COMMIT WORK, ROLLBACK WORK ;
2.4 DQL(Data Query Language ):数据查询语言,SELECT;
3.最简单,基本的增删查改SQL语句
3.1 增加:Insert into 表名(字段1,字段2,...字段n)values(对应字段的值1,对应字段的值2,...对应字段的值n);
注意:如果是按照建表的时候,默认的字段顺序插入的话,可以简写成这样:
Insert into 表名 values(对应字段的值1,对应字段的值2,...对应字段的值n);
还有,插入的顺序可以不需要按照数据表里面的字段顺序来,只要是一一对应就行。例如:字段C_ID在表中是主键,在表中第一个位置,可以这样插入:
insert into MyClass(C_Name,C_ID,C_Descr)values('软件1106班',6,'武汉软件工程职业学院,软件开发技术专业1106');
3.2 删除:delete from 表名; 例如:
delete from MyClass where C_ID='13'; (这里我只删除一行数据,做测试用。)
有个地方需要注意:
删除:delete from 表名; 是删除所有数据,
而,truncate table 表名;是清空表,重置表(把表充值成刚刚创建时的状态,自增列,重新从1开始了;
另外两者效率差别很大,如果用delete会产生很多日志(在数据库日志文件中),而用truncate只会产生一行日志。
3.3 查询:select * from 表名; 例如:
select * from MyClass;
select * from MyStudent;
3.4 修改 : update 表名 set 字段1='XXX' ,字段2='XXX'。。。
update MyStudent set S_Name='李四',S_Birthday='1992-01-18';
注意:修改多个字段的时候,每个字段之间,使用半角英文逗号分隔.
最后附上我创建的一个数据库脚本:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 USE master --使用系统数据库
2 GO
3 IF EXISTS(SELECT * FROM sysdatabases WHERE name=N'DB_MyStudentLife')
4 DROP DATABASE [DB_MyStudentLife]; --如果要创建的数据库存在的话,就删除
5 GO
6 CREATE DATABASE [DB_MyStudentLife] --创建数据库
7 GO
8 USE [DB_MyStudentLife] --使用数据库
9 GO
10 IF EXISTS(SELECT * FROM sysobjects WHERE name=N'MyClass')
11 DROP TABLE [MyClass] --如果要创建的数据表存在的话,就删除(注意sysobjects,一定要全部是小写的,不然有错误,不能写成大写的。)
12 GO
13 CREATE TABLE MyClass --创建数据表
14 (
15 C_ID INT NOT NULL PRIMARY KEY, --班级编号
16 C_Name NVARCHAR(200) not null, --班级名称
17 C_Descr nvarchar(max) not null --班级简介
18
19 );
20 GO
21 IF EXISTS(SELECT * FROM sysobjects WHERE name=N'MyStudent')
22 DROP TABLE MyStudent
23 GO
24 CREATE TABLE MyStudent
25 (
26 S_ID int not null primary key identity(1,1), --学号
27 S_Name nvarchar(50) not null, --姓名
28 S_Gender char(2) not null, --性别
29 S_Address nvarchar(max) not null , --地址
30 S_Phone nvarchar(50)not null, --电话
31 S_Age int not null, --年龄
32 S_Birthday datetime not null, --生日
33 S_CardID int not null, --身份证号码
34 S_CID int not null references MyClass(C_ID) --班级编号
35
36 );
还有增删查改的脚本:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 ---增加MyClass表
2 insert into MyClass(C_ID,C_Name,C_Descr)values(1,'软件1101班','武汉软件工程职业学院,软件开发技术专业1101');
3 insert into MyClass(C_ID,C_Name,C_Descr)values(2,'软件1102班','武汉软件工程职业学院,软件开发技术专业1102')
4 insert into MyClass(C_ID,C_Name,C_Descr)values(3,'软件1103班','武汉软件工程职业学院,软件开发技术专业1103');
5 insert into MyClass(C_ID,C_Name,C_Descr)values(4,'软件1104班','武汉软件工程职业学院,软件开发技术专业1104');
6 insert into MyClass(C_ID,C_Name,C_Descr)values(5,'软件1105班','武汉软件工程职业学院,软件开发技术专业1105');
7 insert into MyClass(C_Name,C_ID,C_Descr)values('软件1106班',6,'武汉软件工程职业学院,软件开发技术专业1106');
8 insert into MyClass(C_ID,C_Name,C_Descr)values(7,'软件1107班','武汉软件工程职业学院,软件开发技术专业1107');
9 insert into MyClass(C_ID,C_Name,C_Descr)values(8,'软件1108班','武汉软件工程职业学院,软件开发技术专业1108');
10 insert into MyClass(C_ID,C_Name,C_Descr)values(9,'软件1109班','武汉软件工程职业学院,软件开发技术专业1109');
11 insert into MyClass(C_ID,C_Name,C_Descr)values(10,'软件1110班','武汉软件工程职业学院,软件开发技术专业1110');
12 insert into MyClass(C_ID,C_Name,C_Descr)values(11,'软件1111班','武汉软件工程职业学院,软件开发技术专业1111');
13 insert into MyClass(C_ID,C_Name,C_Descr)values(12,'软件1112班','武汉软件工程职业学院,软件开发技术专业1112');
14 insert into MyClass(C_ID,C_Name,C_Descr)values(13,'软件1113班','武汉软件工程职业学院,软件开发技术专业1113');
15
16 insert into MyStudent values('张三','男','湖北武汉市武汉软件工程职业学院光谷大道117号','12345677890','23','1990-11-11','121237423','1');
17
18
19 --查询
20 select * from MyClass;
21 select * from MyStudent;
22
23 --修改
24 update MyStudent set S_Name='李四',S_Birthday='1992-01-18';
25
26
27
28 --删除
29 delete from MyClass where C_ID='13';