SQL语言基本教程(2)

        创建表格

        这个create table语句是用于创建一个新的表格。以下是一个简单创建表格语句的格式:

create table "tablename"("column1" "data type","column2" "data type", "column3" "data type");

如果你想使用可选的约束,创建表格的格式为:

create table "tablename"("column1" "data type" [constraint],"column2""datatype"[constraint],

"column3" "data type" [constraint]);

[ ] = optional 这里注意:你可以任意创建多列的表格,这个条件是可选的。

为了更好的理解,下面举个例子:

create table employee(first varchar(15),last varchar(20),age number(3),address varchar(30),city varchar(20),

state varchar(20));

为了创建一个新表格,你可以在关键字create table之后跟着表的名字,然后一个圆左括号”(”,然后是第一列的名字,再是这一列的数据类型,接着是任意的可选约束,最后是圆右括号”)”。确保在开始表格内容之前使用圆左括号并且在表的最后一列定义之后使用圆右括号是相当重要的。你还要保证每一个列定义之间有逗号分隔。最后在SQL语句结束时候加上分号";"

表格和列名必须以字母开头,第二个字符开始可以是字母、数字或者下划线,但是要保证名字的总长度不要超过30个字符。在定义表格和列名不要使用不要使用SQL预定的用于表格或者列名的关键字(比如"select""create" "insert"等等),以避免错误的发生。

数据类型是指在特定的列使用什么样数据的类型。如果一个列的名字为"Last_Name",它是用来容纳人名的,所以这个特定列就应该采用"varchar" (variable-length character,变长度的字符型) 数据类型。

以下是几种常见的数据类型:

char(size) :固定长度的字符串型。Size是圆括号中指定的参数,它可以由用户随意设置,但是不能超过255个字节。

varchar(size) :变长度的字符串型。它的最大长度是由括号中的参数size设定的。

number(size):数值型。最大数字的位数由括号中的参数size设置。

date :日期数值型。

number(size,d) :数值型。它的最大数字的位数由括号中的参数sieze设定,而括号中的参数d是设置小数点的位数。

什么是约束呢?当表被创建的时候,可以一列也可以多列共用一个约束。约束是一个跟列有关的基本准则,返回的数据必须遵循这个准则。下面举个例子,一个约束指定在一列中不能有两个记录共用一个数值。它们必须单独的。其它两个流行的约束是:"not null",它设置了列不能留空白,即一定要有数据;以及"primary key"(主键),主键约束定义了表中每一个记录(或行)的唯一标识。所有的这些将在以后的教程中再作进一步阐述。

好吧,也许你已经有跃跃欲试的冲动了。作为本节练习,下面我们自己来设计和创建表格。

你可以开始创建一个公司的雇员表格。你需要创建一个包含firstnamelastname title age salary的表格。

 

插入数据到表

 Insert语句用于往表格中插入或者增加一行数据,它的格式为:

insert into "tablename"(first_column,...last_column)values (first_value,...last_value);

[] = optional

简单举个例子:

insert into employee(first, last, age, address, city)values ('Luke', 'Duke', 45, '2130 Boars Nest', 'Hazard Co');

这里要注意:每一个字符窜都要用单引号括起来。

为了往表中插入数据,要在关键字insert into之后紧跟着表名,然后是左圆括号,接着是以逗号分开的一系列的列名,再是一个右圆括号,然后在关键字values之后跟着一系列用圆括号括起的数值。这些数值是你要往表格中填入的数据,它们必须与指定的列名相匹配。字符串笔译用单引号括起来,而数字就不用。在上面的例子中,'Luke'必须与列first相匹配,而45必须与列age相匹配。

假如你想往employee表格中插入以下数据;

Zhang Weiguo,28,北京601信箱,北京

那么你要使用以下的SQL语句:

insert into employee(first, last, age, address, city)values (' Zhang', ' Weiguo' ,28, '北京601信箱', '北京');

更新记录

Update语句用于更新或者改变匹配指定条件的记录,它是通过构造一个where语句来实现的。其语句格式如下:

update "tablename"set "columnname" = "newvalue"[,"nextcolumn" = "newvalue2"...]where "columnname" OPERATOR "value" [and|or "column" OPERATOR "value"];

[] = optional

下面举个例子来说明:

update phone_book set area_code = 623 where prefix = 979;

以上语句是在phone_book表中,在prefix=979的行中将area_code设置为623

update phone_book set last_name = 'Smith', prefix=555, suffix=9292 where last_name = 'Jones';

而以上的这段语句是在phone_book中,在last_name= 'Jones'的行中将last_name 设置为 'Smith', prefix555, suffix9292

update employee set age = age+1 where first_name='Mary' and last_name='Williams';

这段语句是在employee表中,在first_name='Mary' last_name='Williams'的行中将age1

作为每课一练,你在结束本教程之后要好好作以下的练习:

1 因为Jonie Weber 已经跟Bob Williams结婚,所以它需要将它的last名更新为Weber-Williams

2 Dirk Smith的生日是今天,所以他的年龄应该加1

3 所有的秘书都叫做"Administrative Assistant".所以要将所有的标题标题都相应地修改。

就作这几个练习,千万不可大意哟。

删除一个表格

Drop table命令用于删除一个表格或者表中的所有行。其语法格式为:

drop table "tablename"

下面举个例子:

drop table employee;

为了删除整个表(包括所有的行),可以使用drop table命令后加上tablenameDrop table命令跟从表中删除所有记录是不一样的:

  删除表中的所有记录是留下表格(只是它是空的)以及约束信息;而drop table是删除表的所有信息,包括所有行、表格以及约束信息等等。

删除记录

Delete语句是用来从表中删除记录或者行,其语句格式为:

delete from "tablename"where "columnname" OPERATOR "value" [and|or "column" OPERATOR "value"];

[ ] = optional

下面还是举个例子:

delete from employee;

这条语句没有where语句,所以它将删除所有的记录,因此如果没有使用where的时候,要千万小心。

如果你只要删除其中一行或者几行,可以参考以下的语句:

delete from employee where lastname = 'May';

这条语句是从emplyee表中删除lastname'May'的行。

delete from employee where firstname = 'Mike' or firstname = 'Eric';

这条语句是从emplyee表中删除firstname'Mike'或者'Eric'的行。

为了从表中删除一个完整的记录或者行,就直接在"delete from"后面加上表的名字,并且利用where指明符合什么条件的行要删除即可。如果你没有使用where子句,那么表中的所有记录或者行将被删除。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值