数据库建表操作SQL代码大全
SQL语句创建学生信息数据库表的示例-学生信息数据库表
用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage between 15 and 45),Sdept varchar(20)default(‘计算机系’))Course表结构Create table course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit〉0),Semester int check(Semester>0),Period int check(Period>0))SC表结构Create table SC(Sno varchar(7) foreign key references student(Sno),Cno varchar(10) foreign key references course(Cno),Grade int check(Grade between 0 and 100),Primary key (Sno,Cno))1.查询学生选课表中的全部数据。
SELECT *FROM SCgo2.查询计算机系学生的姓名、年龄。
Select Sname,SageFrom StudentWhere Sdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。
Select Sno,Cno,GradeFrom Course,ScWhere o=o and sc.Grade between 70 and 804.查询计算机系年龄在18~20之间且性别为“男"的学生的姓名和年龄。
SQL语句大全实例
表操作例1 对于表的教学管理数据库中的表STUDENTS ,可以定义如下:CREATE TABLE STUDENTSSNO NUMERIC 6, 0 NOT NULLSNAME CHAR 8 NOT NULLAGE NUMERIC3,0SEX CHAR2BPLACE CHAR20PRIMARY KEYSNO例2 对于表的教学管理数据库中的表ENROLLS ,可以定义如下: CREATE TABLE ENROLLSSNO NUMERIC6,0 NOT NULLCNO CHAR4 NOT NULLGRADE INTPRIMARY KEYSNO,CNOFOREIGN KEYSNO REFERENCES STUDENTSSNOFOREIGN KEYCNO REFERENCES COURSESCNOCHECK GRADE IS NULL OR GRADE BETWEEN 0 AND 100例3 根据表的STUDENTS 表,建立一个只包含学号、姓名、年龄的女学生表;CREATE TABLE GIRLAS SELECT SNO, SNAME, AGEFROM STUDENTSWHERE SEX=' 女';例4 删除教师表TEACHER ;DROP TABLE TEACHER例5 在教师表中增加住址列;ALTER TABLE TEACHERSADD ADDR CHAR50例6 把STUDENTS 表中的BPLACE 列删除,并且把引用BPLACE 列的所有视图和约束也一起删除;ALTER TABLE STUDENTSDROP BPLACE CASCADE例7 补充定义ENROLLS 表的主关键字;ALTER TABLE ENROLLSADD PRIMARY KEY SNO,CNO ;视图操作虚表例9 建立一个只包括教师号、姓名和年龄的视图FACULTY ; 在视图定义中不能包含ORDER BY 子句CREATE VIEW FACULTYAS SELECT TNO, TNAME, AGEFROM TEACHERS例10 从学生表、课程表和选课表中产生一个视图GRADE_TABLE , 它包括学生姓名、课程名和成绩;CREATE VIEW GRADE_TABLEAS SELECT SNAME,CNAME,GRADEFROM STUDENTS,COURSES,ENROLLSWHERE =AND=例11 删除视图GRADE_TABLEDROP VIEW GRADE_TABLE RESTRICT索引操作例12 在学生表中按学号建立索引;CREATE UNIQUE INDEX STON STUDENTS SNO,ASC例13 删除按学号所建立的索引;DROP INDEX ST数据库模式操作例14 创建一个简易教学数据库的数据库模式TEACHING_DB ,属主为ZHANG ;CREATE SCHEMA TEACHING_DB AUTHRIZATION ZHANG例15 删除简易教学数据库模式TEACHING_DB ; 1 选用CASCADE ,即当删除数据库模式时,则本数据库模式和其下属的基本表、视图、索引等全部被删除; 2 选用RESTRICT ,即本数据库模式下属的基本表、视图、索引等事先已清除,才能删除本数据库模式,否则拒绝删除;DROP SCHEMA TEACHING_DB CASCADE单表操作例16 找出 3 个学分的课程号和课程名;SELECT CNO, CNAMEFROM COURSESWHERE CREDIT =3例17 查询年龄大于22 岁的学生情况;SELECTFROM STUDENTSWHERE AGE >22例18 找出籍贯为河北的男生的姓名和年龄;SELECT SNAME, AGEFROM STUDENTSWHERE BPLACE =' 河北' AND SEX =' 男'例19 找出年龄在20 ~23 岁之间的学生的学号、姓名和年龄,并按年龄升序排序; ASC 升序或DESC 降序声明排序的方式,缺省为升序;SELECT SNO, SNAME, AGEFROM STUDENTSWHERE AGE BETWEEN 20 AND 23ORDER BY AGE例20 找出年龄小于23 岁、籍贯是湖南或湖北的学生的姓名和性别;条件比较运算符=、<和逻辑运算符AND 与,此外还可以使用的运算符有:>大于、>=大于等于、<=小于等于、<>不等于、NOT 非、OR 或等;谓词LIKE 只能与字符串联用,常常是“ <列名>LIKE pattern” 的格式;特殊字符“_” 和“%” 作为通配符;谓词IN 表示指定的属性应与后面的集合括号中的值集或某个查询子句的结果中的某个值相匹配,实际上是一系列的OR 或的缩写;谓词NOT IN 表示指定的属性不与后面的集合中的某个值相匹配;谓词BETWEEN 是“ 包含于… 之中” 的意思;SELECT SNAME, SEXFROM STUDENTSWHERE AGE <23 AND BPLACE LIKE' 湖%'或SELECT SNAME, SEXFROM STUDENTSWHERE AGE <23 AND BPLACE IN ' 湖南' , ' 湖北'例22 找出学生表中籍贯是空值的学生的姓名和性别;在SQL 中不能使用条件:<列名>=NULL ;在SQL 中只有一个特殊的查询条件允许查询NULL 值:SELECT SNAME, SEXFROM STUDENTSWHERE BPLACE IS NULL多表操作例23 找出成绩为95 分的学生的姓名;子查询SELECT SNAMEFROM STUDENTSWHERE SNO =SELECT SNOFROM ENROLLSWHERE GRADE =95例24 找出成绩在90 分以上的学生的姓名;SELECT SNAMEFROM STUDENTSWHERE SNO INSELECT SNOFROM ENROLLSWHERE GRADE >90或SELECT SNAMEFROM STUDENTSWHERE SNO =ANYSELECT SNOFROM ENROLLSWHERE GRADE >90例25 查询全部学生的学生名和所学课程号及成绩;连接查询SELECT SNAME, CNO, GRADEFROM STUDENTS, ENROLLSWHERE =例26 找出籍贯为山西或河北,成绩为90 分以上的学生的姓名、籍贯和成绩;当构造多表连接查询命令时,必须遵循两条规则;第一,连接条件数正好比表数少 1 若有三个表,就有两个连接条件;第二,若一个表中的主关键字是由多个列组成,则对此主关键字中的每一个列都要有一个连接条件也有少数例外情况SELECT SNAME, BPLACE, GRADEFROM STUDENTS, ENROLLSWHERE BPLACE IN ‘ 山西’ , ‘ 河北’AND GRADE >=90 AND =例28 查出课程成绩在80 分以上的女学生的姓名、课程名和成绩; FROM 子句中的子查询SELECT SNAME,CNAME, GRADEFROM SELECT SNAME, CNAME , GRADEFROM STUDENTS, ENROLLS,COURSESWHERE SEX =' 女'AS TEMP SNAME, CNAME,GRADEWHERE GRADE >80表达式与函数的使用例29 查询各课程的学时数;算术表达式由算术运算符+、-、、/与列名或数值常量所组成;SELECT CNAME,COURSE_TIME =CREDIT16FROM COURSES例30 找出教师的最小年龄;内部函数:SQL 标准中只使用COUNT 、SUM 、AVG 、MAX 、MIN 函数,称之为聚集函数Set Function ; COUNT 函数的结果是该列统计值的总数目, SUM 函数求该列统计值之和, AVG 函数求该列统计值之平均值, MAX 函数求该列最大值, MIN 函数求该列最小值;SELECT MINAGEFROM TEACHERS例31 统计年龄小于等于22 岁的学生人数;统计SELECT COUNTFROM STUDENTSWHERE AGE < =22例32 找出学生的平均成绩和所学课程门数;SELECT SNO, AVGGRADE, COURSES =COUNTFROM ENROLLSGROUP BY SNO例34 找出年龄超过平均年龄的学生姓名;SELECT SNAMEFROM STUDENTSWHERE AGE >SELECT AVGAGEFROM STUDENTS例35 找出各课程的平均成绩,按课程号分组,且只选择学生超过 3 人的课程的成绩; GROUP BY 与HAVINGGROUP BY 子句把一个表按某一指定列或一些列上的值相等的原则分组,然后再对每组数据进行规定的操作;GROUP BY 子句总是跟在WHERE 子句后面,当WHERE 子句缺省时,它跟在FROM 子句后面;HAVING 子句常用于在计算出聚集之后对行的查询进行控制;SELECT CNO, AVGGRADE, STUDENTS =COUNTFROM ENROLLSGROUP BY CNOHAVING COUNT >= 3相关子查询例37 查询没有选任何课程的学生的学号和姓名;当一个子查询涉及到一个来自外部查询的列时,称为相关子查询Correlated Subquery ;相关子查询要用到存在测试谓词EXISTS 和NOT EXISTS ,以及ALL 、ANY SOME 等;SELECT SNO, SNAMEFROM STUDENTSWHERE NOT EXISTSSELECTFROM ENROLLSWHERE =例38 查询哪些课程只有男生选读;SELECT DISTINCT CNAMEFROM COURSES CWHERE ' 男' =ALLSELECT SEXFROM ENROLLS , STUDENTSWHERE = AND=例39 要求给出一张学生、籍贯列表,该表中的学生的籍贯省份,也是其他一些学生的籍贯省份;SELECT SNAME, BPLACEFROM STUDENTS AWHERE EXISTSSELECTFROM STUDENTS BWHERE = AND< >例40 找出选修了全部课程的学生的姓名;本查询可以改为:查询这样一些学生,没有一门课程是他不选修的;SELECT SNAMEFROM STUDENTSWHERE NOT EXISTSSELECTFROM COURSESWHERE NOT EXISTSSELECTFROM ENROLLSWHERE =AND =关系代数运算例41 设有某商场工作人员的两张表:营业员表SP_SUBORD 和营销经理表SP_MGR ,其关系数据模式如下:SP_SUBORD SALPERS_ID, SALPERS_NAME, MANAGER_ID, OFFICESP_MGR SALPERS_ID, SALPERS_NAME, MANAGER_ID, OFFICE其中,属性SALPERS_ID 为工作人员的编号, SALPERS_NAME 为工作人员的姓名, MANAGER_ID 为所在部门经理的编号, OFFICE 为工作地点;若查询全部商场工作人员,可以用下面的SQL 语句:SELECT FROM SP_SUBORDUNIONSELECT FROM SP_MGR或等价地用下面的SQL 语句:SELECTFROM TABLE SP_SUBORD UNION TABLE SP_MGR2 INTERSECTSELECT FROM SP_SUBORDINTERSECTSELECT FROM SP_MGR或等价地用下面的SQL 语句:SELECTFROM TABLE SP_SUBORD INTERSECT TABLE SP_MGR或用带ALL 的SQL 语句:SELECT FROM SP_SUBORDINTERSECT ALLSELECT FROM SP_MGR或SELECTFROM TABLE SP_SUBORD INTERSECT ALL TABLE SP_MGR3 EXCEPTSELECT FROM SP_MGREXCEPTSELECT FROM SP_SUBORD或等价地用下面的SQL 语句:SELECTFROM TABLE SP_MGR EXCEPT TABLE SP_ SUBORD或用带ALL 的SQL 语句:EXCEPT ALLSELECT FROM SP_SUBORD例42 查询籍贯为四川、课程成绩在80 分以上的学生信息及其成绩;自然连接SELECT FROM STUDENTSWHERE BPLACE=‘ 四川’NATURAL JOINSELECT FROM ENROLLSWHERE GRADE >=80例列出全部教师的姓名及其任课的课程号、班级;外连接与外部并外连接允许在结果表中保留非匹配元组,空缺部分填以NULL ;外连接的作用是在做连接操作时避免丢失信息;外连接有3 类:1 左外连接Left Outer Join ;连接运算谓词为LEFT OUTER JOIN ,其结果表中保留左关系的所有元组;2 右外连接Right Outer Join ;连接运算谓词为RIGHT OUTER JOIN ,其结果表中保留右关系的所有元组;3 全外连接Full Outer Join ;连接运算谓词为FULL OUTER JOIN ,其结果表中保留左右两关系的所有元组;SELECT TNAME, CNO, CLASSFROM TEACHERS LEFT OUTER JOIN TEACHING USING TNOSQL 的数据操纵例44 把教师李映雪的记录加入到教师表TEACHERS 中;插入INSERT INTO TEACHERSVALUES1476 , ' 李映雪' , 44 , ' 副教授'例45 成绩优秀的学生将留下当教师;INSERT INTO TEACHERS TNO , TNAMESELECT DISTINCT SNO , SNAMEFROM STUDENTS , ENROLLSWHERE =AND GRADE >=90例47 把所有学生的年龄增加一岁;修改UPDATE STUDENTSSET AGE =AGE+1例48 学生张春明在数据库课考试中作弊,该课成绩应作零分计;UPDATE ENROLLSSET GRADE =0WHERE CNO ='C1' AND' 张春明' =SELECT SNAMEFROM STUDENTSWHERE =例49 从教师表中删除年龄已到60 岁的退休教师的数据;删除WHERE AGE >=60SQL 的数据控制例50 授予LILI 有对表STUDENTS 的查询权;表/视图特权的授予一个SQL 特权允许一个被授权者在给定的数据库对象上进行特定的操作;授权操作的数据库对象包括:表/ 视图、列、域等;授权的操作包括:INSERT 、UPDATE 、DELETE 、SELECT 、REFERENCES 、TRIGGER 、UNDER 、USAGE 、EXECUTE 等;其中INSERT 、UPDATE 、DELETE 、SELECT 、REFERENCES 、TRIGGER 有对表做相应操作的权限,故称为表特权;GRANT SELECT ON STUDENTSTO LILIWITH GRANT OPTION例51 取消LILI 的存取STUDENTS 表的特权;REVOKE ALLON STUDENTSFROM LILI CASCADE不断补充中:1. 模糊查找:它判断列值是否与指定的字符串格式相匹配;可用于char、varchar、text、ntext、datetime 和smalldatetime等类型查询;可使用以下通配字符:百分号%:可匹配任意类型和长度的字符,如果是中文,请使用两个百分号即%%;下划线_:匹配单个任意字符,它常用来限制表达式的字符长度;方括号:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个;^:其取值也相同,但它要求所匹配对象为指定字符以外的任一个字符;例如:限制以Publishing结尾,使用LIKE '%Publishing'限制以A开头:LIKE 'A%'限制以A开头外:LIKE '^A%'2.更改表格ALTER TABLE table_nameADD COLUMN column_name DATATYPE说明:增加一个栏位没有删除某个栏位的语法;ALTER TABLE table_nameADD PRIMARY KEY column_name说明:更改表得的定义把某个栏位设为主键;ALTER TABLE table_nameDROP PRIMARY KEY column_name说明:把主键的定义删除;by在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集;group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果;在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数select maxsal,job emp group by job;注意maxsal,job的job并非一定要出现,但有意义查询语句的select 和group by ,having 子句是聚组函数唯一出现的地方,在where 子句中不能使用聚组函数;select deptno,sumsal from emp where sal>1200 group by deptno having sumsal>8500 order by deptno;当在gropu by 子句中使用having 子句时,查询结果中只返回满足having条件的组;在一个sql语句中可以有where子句和having子句;having 与where 子句类似,均用于设置限定条件where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行;having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组;查询每个部门的每种职位的雇员数select deptno,job,count from emp group by deptno,job;4.外连接与内连接有时候,即使在连接的表中没有相应的行,用户可能想从一张表中看数据,Oracle提供了外连接实现该功能;内连接是指连接查询只显示完全满足连接条件的记录,即等值连接,外连接的查询结果是内连接查询结果的扩展;外连接不仅返回满足连接条件的所有记录而且也返回了一个表中那些在另一个表中没有匹配行的记录;外连接的操作符是“+”;“+”号放在连接条件中信息不完全的那一边即没有相应行的那一边;运算符“+”影响NULL行的建立;建一行或多行NULL来匹配连接的表中信息完全的行;外连接运算符“+”只能出现在where子句中表达式的一边;假如在多张表之间有多个连接条件,外连接运算符不能使用or,in逻辑运算符与其它条件组合;假如emp表中deptno=10的ename为空值,dept表中deptno=20的loc为空值:1.selectename,,locfromemp,deptwhere+=;如果在中有的数值在中没有值,则在做外连接时,结果中ename会产生一个空值;=102.selectename,,locfromemp,deptwhere=+;如果在中有的数值在中没有值,则在做外连接时,结果中loc会产生一个空值;;=205.自连接自连接是指同一张表的不同行间的连接;该连接不受其他表的影响;用自连接可以比较同一张表中不同行的某一列的值;因为自连接查询仅涉及到某一张表与其自身的连接;所以在from子句中该表名出现两次,分别用两个不同的别名表示,两个别名当作两张不同的表进行处理,与其它的表连接一样,别名之间也使用一个或多个相关的列连接;为了区分同一张表的不同行的列,在名前永别名加以限制;select,managerfromemp worker,emp managerwhere=;6.集合运算基合运算符可以用于从多张表中选择数据;①UNION运算用于求两个结果集合的并集两个结果集合的所有记录,并自动去掉重复行;select ename,sal from account where sal>2000unionselect ename,sal from research where sal>2000unionselect ename,sal from sales where sal>2000;注:ename,sal 是必须一致的;②UNION ALL运算用于求两个结果集合的并集两个结果集中的所有记录,并且不去掉重复行;select ename,sal from account where sal>2000unionselect ename,sal from research where sal>2000unionselect ename,sal from sales where sal>2000;③INTERSECT运算intersect运算返回查询结果中相同的部分;各部门中有哪些相同的职位select Job from accountintersectselect Job from researchintersectselect Job from sales;④MINUS运算minus返回两个结果集的差集;在第一个结果集中存在的,而在第二个结果集中不存在的行; 有那些职位是财务部中有,而在销售部门中没有select Job from accountminusselect Job from sales;。
SQL命令大全(可编辑修改word版)
下列语句部分是Mssql 语句,不可以在access 中使用。
SQL 分类:DDL 类型包括数据库、表的创建,修改,删除,声明—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML 类型包括数据表中记录的查询,删除,修改,插入—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL 类型包括数据库用户赋权,废除用户访问权限,提交当前事务,中止当前事务—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE db1(db1 代表数据库表,可自命名)2、说明:删除数据库drop database db1(db1 代表数据库表,可自命名)3、说明:备份sql server--- 创建备份数据的deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tb1(Id int not null primary key,name varchar,..)(tb1 为数据表名,ID 为字段,int 为数据类型整型,not null 为数据是否可为空,Primary Key 为主键设置,其中not null,primary key 为可选项,字段,数据类型自定义。
)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表:drop table tb16、说明:增加一个列:Alter table tabname add column col type注:列增加后将不能删除。
sql数据库建表
1.写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书表”结构如下:书号:统一字符编码定长类型,长度为6,主键;书名:统一字符编码可变长类型,长度为30,非空;第一作者:普通编码定长字符类型,长度为10,非空;出版日期:小日期时间型;价格:定点小数,小数部分1位,整数部分3位。
(2)“书店表”结构如下:书店编号:统一字符编码定长类型,长度为6,主键;店名:统一字符编码可变长类型,长度为30,非空;电话:普通编码定长字符类型,8位长,每一位的取值均是0~9的数字;地址:普通编码可变长字符类型,40位长。
邮政编码:普通编码定长字符类型,6位长。
(3)“图书销售表”结构如下:书号:统一字符编码定长类型,长度为6,非空;书店编号:统一字符编码定长类型,长度为6,非空;销售日期:小日期时间型,非空;销售数量:小整型,大于等于1。
主键为(书号,书店编号,销售日期);其中“书号”为引用“图书表”的“书号”的外键;“书店编号”为引用“书店表”的“书店编号”的外键。
答:CREATE TABLE 图书表(书号nchar(6) primary key,书名nvarchar(30) not null,第一作者char(10) not null,出版日期smalldatetime,价格numeric(4,1))CREATE TABLE 书店表(书店编号nchar(6) primary key,店名nvarchar(30) not null,电话char(8) check (电话like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),地址varchar(40),邮政编码char(6))CREATE TABLE 图书销售表(书号nchar(6) not null,书店编号nchar(6) not null,销售日期smalldatetime not null,销售数量smallint check(销售数量>=1),primary key(书号,书店编号,销售日期),foreign key(书号) references 图书表(书号),foreign key(书店编号) references 书店表(书店编号))1.1为图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于1000。
用SQL命令创建数据表
Ssex char(2),
Sage smallint,
Sdept varchar(20)
)
练习:
练习:课本P72 第3题 表5-2
数据表的修改
查看表属性 修改表结构 删除数据表
查看表属性
在SQL Server Management Studio中,选中要 查看的数据表,单击鼠标右键,选择“属性”, 将打开“表属性”对话框,如图所示。
例如:将学生表Student中“刘尘”所属的学院由CS改为 SS。 USE 学生选课 GO UPDATE Student SET Sdep = 'SS' WHERE Sname = '刘尘' 执行结果如图1所示,有一行记录被更新。
图1 更新数据表数据
更新数据时,每个列既可以被直接赋值,例如 上例子也可以通过计算得到新值。
在CREATE TABLE语句中需要指出的元素与在表设计器中相同,包括 表名、列名、列的数据类型以及列属性等。
用SQL命令创建数据表
USE 学生选课
GO
CREATE TABLE Student
(
Sno
int NOT NULL PRIMARY KEY ,
Sname varchar(20)NOT NULL,
另外,用户还还可在查询窗口中使用 SELECT命令查看一个或多个表中的数据 。
用INSERT语句插入数据
INSERT语句的基本语法: INSERT INTO 表名 (列名1 , 列名2, ……, 列名n) VALUES (值1, 值2 , ……, 值n)
INSERT子句指定要插入的数据表名,并且可以同时指定表的列名称。 VALUES子句指定要插入的数据。 例:
sql server建库建表代码
sql server建库建表代码
在SQL Server中,要创建数据库和表,你需要使用CREATE DATABASE和CREATE TABLE语句。
下面是一个简单的示例:
首先,创建一个数据库:
sql.
CREATE DATABASE MyDatabase;
接下来,在新创建的数据库中创建一个表:
sql.
USE MyDatabase;
CREATE TABLE Employees (。
EmployeeID INT PRIMARY KEY,。
LastName VARCHAR(50),。
FirstName VARCHAR(50),。
Title VARCHAR(100),。
HireDate DATE.
);
上面的代码首先创建了一个名为MyDatabase的数据库,然后在该数据库中创建了一个名为Employees的表,该表包含了EmployeeID、LastName、FirstName、Title和HireDate等列。
需要注意的是,以上只是一个简单的示例。
实际情况中,你可能需要根据你的实际需求来设计数据库和表的结构,并且可能需要添加索引、约束、触发器等其他元素来完善数据库设计。
另外,还需要考虑数据类型的选择、数据完整性、性能优化等方面的问题。
希望以上信息能够帮助到你。
如果你有其他关于SQL Server数据库和表创建的问题,欢迎继续提问。
关系数据库常用SQL语句语法大全
关系数据库常⽤SQL 语句语法⼤全创建表语法CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件][,<列名> <数据类型>[列级完整性约束条件]]…);列级完整性约束条件有NULL[可为空]、NOT NULL[不为空]、UNIQUE[唯⼀],可以组合使⽤,但是不能重复和对⽴关系同时存在。
⽰例-- 创建学⽣表CREATE TABLE Student ( Id INT NOT NULL UNIQUE PRIMARY KEY, Name VARCHAR(20) NOT NULL, Age INT NULL, Gender VARCHAR(4) NULL);删除表语法DROP TABLE <表名>;⽰例-- 删除学⽣表DROP TABLE Student;清空表语法TRUNCATE TABLE <表名>;⽰例-- 删除学⽣表TRUNCATE TABLE Student;修改表######语法-- 添加列ALTER TABLE <表名> [ADD <新列名> <数据类型>[列级完整性约束条件]]-- 删除列ALTER TABLE <表名> [DROP COLUMN <列名>]-- 修改列ALTER TABLE <表名> [MODIFY COLUMN <列名> <数据类型> [列级完整性约束条件]]⽰例-- 添加学⽣表`Phone`列ALTER TABLE Student ADD Phone VARCHAR(15) NULL;-- 删除学⽣表`Phone`列ALTER TABLE Student DROP COLUMN Phone;-- 修改学⽣表`Phone`列ALTER TABLE Student MODIFY Phone VARCHAR(13) NULL;SQL 查询语句语法SELECT [ALL|DISTINCT] <⽬标列表达式>[,<⽬标列表达式>]…FROM <表名或视图名>[,<表名或视图名>]…[WHERE <条件表达式>][GROUP BY <列名> [HAVING <条件表达式>]][ORDER BY <列名> [ASC|DESC]…]SQL 查询语句的顺序:SELECT 、FROM 、WHERE 、GROUP BY 、HAVING 、ORDER BY 。
建表sql语句 解析
创建表的SQL语句(CREATE TABLE语句)的基本语法如下:
```
CREATE TABLE table_name (
column1 data_type,
column2 data_type,
column3 data_type,
...
);
```
其中,
- `table_name` 是表的名称。
- `column1`、`column2`、`column3` 等是表中的列名,可以有多个列。
- `data_type` 是列的数据类型,例如`INT`、`CHAR`、`DATE` 等。
以下是一个具体的例子:
```
CREATE TABLE 员工表(
员工ID INT PRIMARY KEY,
姓名CHAR(20),
年龄INT,
性别CHAR(2),
职位CHAR(20),
工资DECIMAL(10,2)
);
```
这个语句创建了一个名为“员工表”的表,包含以下列:
- 员工ID:整数类型,设为唯一标识符(主键)。
- 姓名:字符类型,最大长度为20个字符。
- 年龄:整数类型。
- 性别:字符类型,最大长度为2个字符。
- 职位:字符类型,最大长度为20个字符。
- 工资:Decimal类型,总共有10位,小数点后有2位。
这个表用于存储员工的信息。
根据实际需求,你可以根据需要添加更多列和数据类型。
SQLSERVER中建库建表
创建数据表语法:
create table 表名 (
字段名1 数据类型(长度), 字段名2 数据类型(长度) )
其中数据类型,我们在后面用到什么类型,在介绍什么类型,有的类型可以不填写长度。
创建数据表示例(部门表,职级表,员工信息表):
--创建部门表 create table Department (
--创建部门编号;int代表整数类型;primary key代表主键;identity(1,1)代表从1开始步长为1 自增长;
DepartmentId int primary key identity(1,1), --创建部门名称;nvarchar(50)代表长度50的字符串;not null代表不能为空; DepartmentName nvarchar(50) not null, --创建部门描述;text代表长文本; DepartmentRemark text )
--创建职级表,rank为系统关键字,此处使用[]代表自定义名字,而非系统关键字 create table [Rank] (
RankId int primary key identity(1,1), RankName nvarchar(50) not null, RankRemark text )
--创建员工信息表 create table People (
此代码检查数据库中是否存在"DBTEST"数据库,如果存在则删除此数据库,此处理方式最好只在学习 阶段使用,在正式生产环境中慎用,操作不当可能会删除重要数据。
二、创建数据库
--创建数据库 create database DBTEST on --数据文件 (
name = 'DBTEST', --逻辑名称 filename = 'D:\Data\DBTEST.mdf', --物理路径及名称 size = 5MB, --数据文件初始大小 filegrowth = 2MB --数据文件增长速度,也可以使用百分比来设置 ) log on --日志文件 ( name = 'DBTEST_log', --逻辑名称 filename = 'D:\Data\DBTEST_log.ldf', --物理路径及名称 size = 5MB, --日志文件初始大小 filegrowth = 2MB --日志文件增长速度,也可以使用百分比来设置 )
sql经典50题建表语句
sql经典50题建表语句1、题目:创建一个名为"employees"的表,包含"id"、"name"和"salary"三个字段。
sql:CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),salary DECIMAL(10, 2));2、题目:创建一个名为"orders"的表,包含"order_id"、"customer_id"和"order_date"三个字段。
sql:CREATE TABLE orders (order_id INT PRIMARY KEY,customer_id INT,order_date DATE);3、题目:创建一个名为"products"的表,包含"product_id"、"product_name"和"price"三个字段。
sql:CREATE TABLE products (product_id INT PRIMARY KEY,product_name VARCHAR(50),price DECIMAL(10, 2));4、题目:创建一个名为"customers"的表,包含"customer_id"、"first_name"、"last_name"和"email"四个字段。
sql:CREATE TABLE customers (customer_id INT PRIMARY KEY,first_name VARCHAR(50),last_name VARCHAR(50),email VARCHAR(100));5、题目:创建一个名为"addresses"的表,包含"address_id"、"street"、"city"和"state"四个字段。
sql创建数据库代码
sql创建数据库代码SQL创建数据库代码概述:在数据库中,创建数据库是一个重要的任务。
数据库是用于存储和组织数据的集合,它是许多应用程序的基础。
在本文档中,我们将介绍如何使用SQL创建数据库的代码。
步骤一:连接到数据库服务器在创建数据库之前,首先需要连接到数据库服务器。
常见的数据库服务器有MySQL、Oracle、SQL Server等。
下面是使用MySQL 数据库服务器连接的示例代码:```sqlmysql -u username -p```这里的`username`是您的数据库用户名,`-p`表示需要输入密码。
执行以上命令后,会提示输入密码,输入正确的密码后即可完成连接。
步骤二:创建数据库连接到数据库服务器后,可以使用SQL命令来创建数据库。
下面是创建数据库的示例代码:```sqlCREATE DATABASE database_name;```这里的`database_name`是您想要创建的数据库的名称。
执行以上命令后,数据库就会被创建成功。
步骤三:选择数据库在创建数据库之后,需要选择要使用的数据库。
下面是选择数据库的示例代码:```sqlUSE database_name;```这里的`database_name`是您之前创建的数据库的名称。
执行以上命令后,就会在当前会话中选择并使用指定的数据库。
步骤四:创建表创建数据库之后,可以使用SQL命令来创建表。
表是数据库中用于存储数据的对象。
下面是创建表的示例代码:```sqlCREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,...);```这里的`table_name`是您想要创建的表的名称,`column1, column2, column3`是表中的列名,`datatype`是每个列的数据类型。
通过指定列名和数据类型,可以创建一个空的表。
sql server建库建表代码
sql server建库建表代码在SQL Server中创建数据库和表是数据库管理员经常进行的操作。
下面是一个示例,展示了如何使用SQL语句来创建数据库和表。
1. 创建数据库要创建一个新的数据库,可以使用CREATE DATABASE语句。
下面是一个示例,创建一个名为"mydatabase"的数据库:```sqlCREATE DATABASE mydatabase;```2. 创建表在数据库中创建表是存储和组织数据的关键步骤。
可以使用CREATE TABLE语句来创建表。
下面是一个示例,创建一个名为"customers"的表,包含id、name和email字段:```sqlCREATE TABLE customers (id INT PRIMARY KEY,name VARCHAR(50),email VARCHAR(100));```在上面的示例中,id列被定义为主键,name和email列分别被定义为VARCHAR类型的字符列。
3. 插入数据一旦表被创建,就可以使用INSERT INTO语句将数据插入到表中。
下面是一个示例,向"customers"表中插入一条记录:```sqlINSERT INTO customers (id, name, email)VALUES(1,'JohnDoe','*******************');```在上面的示例中,我们指定了要插入的列和对应的值。
4. 查询数据查询是数据库中最常见的操作之一。
可以使用SELECT语句来检索表中的数据。
下面是一个示例,查询"customers"表中的所有记录:```sqlSELECT * FROM customers;```上面的示例中,使用"*"通配符表示选择所有列。
以上是使用SQL Server创建数据库和表的基本示例。
数据库建表sql语句
数据库建表sql语句
•1、使用CREATE DATABASE语句创建数据库最简单的方式,该方式只需要指定database-name参数即可,该参数表示要创建的数据库的名称,其他与数据库有关的选项都采用系统的默认值。
2、如果希望在创建数据库时明确指定数据库的文件和这些文件的大
小以及增长的方式,就需要了解CREATE DATABASE语句的语法。
3、在语法格式中,每一种特定的符号都表示特殊的含义。
使用
CREATE DATABASE语句创建数据库:1、打开【SQL Server
Management Studio】窗口,并连接到服务器。
选择【文件】→【新建】→【数据库引擎查询】命令或者单击标准工具栏上的【新建查询】按钮,创建一个查询输入窗口,在窗口内输入语句,创建“新建的数据1”数据库,保存位置为“C”。
2、单击【执行】按钮执行语句,如果执行成功,在查询窗口的【查询】中可以看到“命令以成功完成”。
的提示信息框。
在【对象资源管理器】窗口中书涮新,展开数据库节点就可以看到新建的数据了。
SQLite3命令操作大全
SQLite3命令操作⼤全SQLite库包含⼀个名字叫做sqlite3的命令⾏,它可以让⽤户⼿⼯输⼊并执⾏⾯向SQLite数据库的SQL命令。
本⽂档提供⼀个样使⽤sqlite3的简要说明.⼀.qlite3⼀些常⽤Sql语句操作⼀:命令<1>打开某个数据库⽂件中sqlite3 test.db<2>查看所有的命令介绍(英⽂).help<3>退出当前数据库系统.quit<4>显⽰当前打开的数据库⽂的位置.database在当前的数据库⽂件中创建⼀张新表(语句) [注:以;结尾,<>中是我们可变的内容]create table <table_name>(表头信息1,表头信息2,表头信息3...);例如:create table people(NAME,SEX,AGE);<5>显⽰数据库中所有的表名sqlite>.tables<6>查看表中表头的信息.schema<7>显⽰调整成列模式sqlite> .mode column<8>显⽰表头sqlite> .header on创建表: create table 表名(元素名类型,…);删除表: drop table 表名;插⼊数据: insert into 表名 values(, , ,) ;创建索引: create [unique] index 索引名on 表名(col….);删除索引: drop index 索引名(索引是不可更改的,想更改必须删除重新建)删除数据: delete from 表名;更新数据: update 表名 set 字段=’修改后的内容’ where 条件;增加⼀个列: Alter table 表名 add column 字段数据类型;选择查询: select 字段(以”,”隔开) from 表名 where 条件;⽇期和时间: Select datetime('now')⽇期: select date('now');时间: select time('now');总数:select count(*) from table1;求和:select sum(field1) from table1;平均:select avg(field1) from table1;最⼤:select max(field1) from table1;最⼩:select min(field1) from table1;排序:select 字段 from table1 order by 字段(desc或asc) ;(降序或升序)分组:select 字段 from table1 group by 字段,字段… ;限制输出:select字段fromtable1 limit x offset y;= select 字段 from table1 limit y , x;(备注:跳过y⾏,取x⾏数据)(操作仍待完善)…SQLite⽀持哪些数据类型些?NULL 值为NULLINTEGER 值为带符号的整型,根据类别⽤1,2,3,4,6,8字节存储REAL 值为浮点型,8字节存储TEXT 值为text字符串,使⽤数据库编码(UTF-8, UTF-16BE or UTF-16-LE)存储BLOB 值为⼆进制数据,具体看实际输⼊但实际上,sqlite3也接受如下的数据类型:smallint 16 位元的整数interger 32 位元的整数decimal(p,s) p 精确值和 s ⼤⼩的⼗进位整数,精确值p是指全部有⼏个数(digits)⼤⼩值,s是指⼩数点後有⼏位数。
sqlserver创建数据库的sql语句
sqlserver创建数据库的sql语句SQL Server是当前最流行和使用最广泛的关系型数据库。
在SQL Server中,可以通过SQL语句来创建数据库。
以下是SQL Server创建数据库的SQL语句:1.使用CREATEDATABASE语句创建数据库。
使用CREATEDATABASE语句可以创建一个空的数据库。
在创建数据库时可以指定数据库的名称、文件名、文件位置等信息。
例如:CREATE DATABASE MyDatabase。
ONPRIMARY。
NAME = MyDatabase_Data,。
FILENAME = 'C:\Program Files\Microsoft SQLServer\MSSQL15.MSSQLSERVER\MSSQL\DATA\MyDatabase_Data.mdf',。
SIZE=10MB,。
MAXSIZE=50MB,。
FILEGROWTH=5MB。
LOGON。
NAME = MyDatabase_Log,。
FILENAME = 'C:\Program Files\Microsoft SQLServer\MSSQL15.MSSQLSERVER\MSSQL\DATA\MyDatabase_Log.ldf',。
SIZE=5MB,。
MAXSIZE=25MB,。
FILEGROWTH=1MB。
;。
在上面的示例中,我们使用CREATE DATABASE语句创建了一个名为MyDatabase的数据库,使用ON PRIMARY子句指定了主数据文件MyDatabase_Data和事务日志文件MyDatabase_Log的名称、文件名、大小以及自动增长的规则。
2.使用CREATEDATABASE语句创建数据库,同时指定字符集和校对规则。
CREATEDATABASE语句除了可以创建空的数据库之外,还可以通过指定字符集和校对规则来创建数据库。
例如:CREATE DATABASE MyDatabase。
sql 建表语句
sql 建表语句SQL建表语句,也称为Data Definition Language (DDL),是用来定义数据库中的数据结构的一种语言。
SQL建表语句用于创建数据库表、定义字段的属性,以及定义表之间的关系。
SQL建表语句的语法大致如下:CREATE TABLE 数据库表名( 字段名数据类型 [限定符] [,...] );其中,CREATE TABLE是建表语句的关键字,数据库表名是要创建的表名,字段名是要创建的表字段,而数据类型是字段的数据类型,限定符是字段的限定条件,例如NOT NULL,UNIQUE等,逗号用于分隔不同的字段。
在创建表时,还可以使用PRIMARY KEY关键字来定义主键,FOREIGN KEY关键字定义外键,CHECK关键字定义字段的值的范围等。
例如,我们想创建一个名为“Student”的表,包含字段“Sno”(学号)、“Sname”(姓名)、“Sage”(年龄),其中“Sno”为主键,“Sage”的值必须在1-100之间,那么我们可以使用如下语句来创建:CREATE TABLE Student( Sno VARCHAR(10) PRIMARY KEY, Sname VARCHAR(20) NOT NULL, Sage INT CHECK(Sage>=1 AND Sage<=100) );SQL建表语句还可以使用ALTER TABLE语句对表进行修改,例如:ALTER TABLE Student ADD COLUMN Ssex CHAR(1) NOT NULL;这条语句会在Student表中添加一个新的字段“Ssex”,该字段存储性别信息,并且不能为空。
此外,DROP TABLE语句用于删除表,例如:DROP TABLE Student;这条语句会删除Student表。
总之,SQL建表语句是用来定义数据库中的数据结构的一种语言,它可用于创建、修改和删除表,以及定义表之间的关系。
sql创表语句
sql创表语句SQL是一种用于管理关系型数据库的语言,它可以用来创建、修改和查询数据库中的表格。
在本文中,我们将列举一些常见的SQL创表语句,以帮助读者更好地了解SQL语言的使用。
1. 创建一个简单的表格CREATE TABLE customers (id INT PRIMARY KEY,name VARCHAR(50),email VARCHAR(50));这个语句创建了一个名为“customers”的表格,其中包含三个列:id、name和email。
id列是主键,用于唯一标识每个客户。
2. 创建一个带有外键的表格CREATE TABLE orders (id INT PRIMARY KEY,customer_id INT,order_date DATE,FOREIGN KEY (customer_id) REFERENCES customers(id));这个语句创建了一个名为“orders”的表格,其中包含三个列:id、customer_id和order_date。
customer_id列是外键,它引用了customers表格中的id列。
3. 创建一个带有自动递增列的表格CREATE TABLE products (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),price DECIMAL(10,2));这个语句创建了一个名为“products”的表格,其中包含三个列:id、name和price。
id列是自动递增的,每次插入新行时都会自动增加。
4. 创建一个带有默认值的表格CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),hire_date DATE DEFAULT CURRENT_DATE);这个语句创建了一个名为“employees”的表格,其中包含三个列:id、name和hire_date。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
∙首页
∙发现小组
∙发现小站
∙线上活动
joshua的日记
∙joshua的主页
∙广播
∙相册
∙喜欢
∙二手
∙活动
∙发豆邮
数据库建表操作SQL代码大全
2009-04-23 17:39:37
决定在这里建立自己的学习数据库的日记,以便随时学习,随时回顾。
从今天开始。
新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default '默认值' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)
删除表:
Drop table [表名]
INSERT INTO [表名] (字段1,字段2) VALUES (100,'')
删除数据:
DELETE FROM [表名] WHERE [字段名]>100
更新数据:
UPDATE [表名] SET [字段1] = 200,[字段2] = '' WHERE [字段三] = 'HAIWA'
新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL
删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]
修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL
重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename '表名', '新表名', 'OBJECT'
新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名CHECK ([约束字段] <= '2000-1-1')
删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名
新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名DEFAULT '' FOR [字段名]
删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名
删除Sql Server 中的日志,减小数据库文件大小
dump transaction 数据库名with no_log
backup log 数据库名with no_log
dbcc shrinkdatabase(数据库名)
exec sp_dboption '数据库名', 'autoshrink', 'true'
\'添加字段通用函数
Sub AddColumn(TableName,ColumnName,ColumnType)
Conn.Execute("Alter Table "&TableName&" Add "&ColumnName&" "&ColumnType&"")
End Sub
\'更改字段通用函数
Sub ModColumn(TableName,ColumnName,ColumnType)
Conn.Execute("Alter Table "&TableName&" Alter Column "&ColumnName&"
"&ColumnType&"")
End Sub
\'检查表是否存在
sql="select count(*) as dida from sysobjects where id = object_id(N'[所有者].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1"
set rs=conn.execute(sql)
response.write rs("dida")'返回一个数值,0代表没有,1代表存在
判断表的存在:
select * from sysobjects where id = object_id(N'[dbo].[tablename]') and OBJECTPROPERTY(id, N'IsUserTable') = 1
某个表的结构
select * from syscolumns where id = object_id(N'[dbo].[你的表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1。