ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:24.78KB ,
资源ID:28562248      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28562248.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2数据表的基本操作.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

2数据表的基本操作.docx

1、2数据表的基本操作数据表的基本操作一、创建数据表在创建完数据库之后,接下来的工作就是创建数据表,所谓创建数据表,指的是在已经创建好的数据库中建立新表,创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)约束的过程。这里将介绍创建数据表的语法形式、如何添加主键约束、外键约束、非空约束等。1、创建表的语法形式数据表属于数据库,在创建数据库之前,应该使用语句“USE ”指定操作是在哪个数据库中进行,如果没能选择数据库,会抛出“No database selected”的错误。创建数据表的语句为CREATE TABLE,语法规则如下:CREATE

2、TABLE(字段表1,数据类型 列级别约束条件 默认值字段表2,数据类型列级别约束条件默认值表级别约束条件);使用CREATE TABLE创建表时,必须指定以下信息:(1)要创建的表的名称,不区分大小写,不能使用SQL语言中的关键字,如DROP、ALTER、INSERT等。(2)数据表中每一个列(字段)的名称和数据类型,如果创建多个列,要用逗号隔开。【例1】创建员工表tb_emp1选择创建表的数据库:USE test_db;tb_emp1表结构字段名称数据类型备注idINT(11)员工编号nameVARCHAR(25) 员工名称deptldINT(11) 所在部门编号salaryFLOAT工资

3、创建tb_emp1表:CREATE TABLE tb_emp1( id int(11), name varchar(25), deptId int(11), salary float);可以看到,test_db数据库中已经有了数据表tb_tmp1,数据表创建成功。mysql show create table tb_emp1;+-+-+| Table | Create Table |+-+-+| tb_emp1 | CREATE TABLE tb_emp1 ( id int(11) default NULL, name varchar(25) default NULL, deptId int(

4、11) default NULL, salary float default NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +-+-+1 row in set (0.00 sec)2、使用主键约束主键,又称主码,是表中一列或多列的组合,主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空,主键能够唯一地标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系,它们之间是一一对应的。主键分为两种类型:单字段主键和多字段联合主键。A、单字段主

5、键主键是由一个字段组成,SQL语句格式分类以下两种情况。(1)在定义列的同时指定主键,语法规则如下:字段名 数据类型 PRIMARY KEY 默认值【例2】定义数据表tb_emp 2,其主键为id:CREATE TABLE tb_emp2 ( id int(11) PRIMARY KEY, name varchar(25), deptId int(11), salary float);(2)在定义完所在列之后指定主键。CONSTRINT PRIMARY KEY 默认值【例3】定义数据表tb_emp 3,其主键为id:CREATE TABLE tb_emp3 ( id int(11), name

6、 varchar(25), deptId int(11), salary float, PRIMARY KEY(id);上述两个例子执行后的结果是一样的,都会在id字段上设置主键约束。B、多字段联合主键主键由多个字段联合组成,语法规则如下:PRIMARY KEY 字段1,字段2,字段n【例4】定义数据表tb_emp4,假设表中间没有主键id,为了唯一确定一人员工,可以把name、deptId联合起来做为主键,SQL语句如下:CREATE TABLE tb_emp4 ( name varchar(25), deptId int(11), salary float, PRIMARY KEY(nam

7、e,deptId);语句执行后,便创建一个名称为tb_emp4的数据表,name字段和deptId字段组合在一起成为tb_emp4的多字段联合主键。3、使用外键约束外键用来在两上表的数据之间建立链接,它可以是一列或多列。一个表可以有一个或多个外键,外键对应参照完整性,一个表的外键可以为空值,则每一个外键值必须等于另一个表中主键的某个值。外键:首先它是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键,外键主要作用是保证数据引用的完整性、定义外键后,不允许删除在另一个表中具有关系的行。外键的作用是保持数据的一致性、完整性。例如,部门表tb_dept的主键是id,在员工表tb_emp5中

8、有一个deptId与这个id关联。主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即是主表。从表(子表):对于两个具有关联关系的表而言,相关联字段中的外键所在的那个表即是从表。创建外键的语法规则如下:CONSTRAINT FOREIGN KEY 字段名1 ,字段名2,REFERENCES 主键列1,主键列2,“外建名”为定义的外键约束的名称,一个表中不能有相同名称的外键;“字段名”表示子表需要添加外键约束的字段列:“主表名”即被子表外键依赖的表的名称;“主键列”表示主表中定义的主键列,或者列组合。【例5】定义数据表tb_emp5,并在tb_emp5表上创建外键约束创建一

9、个部门表tb_dept1:CREATE TABLE tb_dept1( id int(11) PRIMARY KEY, name varchar(22) NOT NULL, location varchar(50);tb_dept1表结构字段名称数据类型备注idI NT(11) 部门编号nameVRCHAR(22) 部门名称locationVARCHAR(50) 部门位置定义数据表tb_emp5,让它的键deptId作为外键关联到tb_dept1的主键id:CREATE TABLE tb_emp5 ( id int(11) PRIMARY KEY, name varchar(25), dept

10、Id int(11), salary float, CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id);以上语句执行成功之后,在表tb_emp5上添加了名称为tk_emp_dept1的外键约束,外键名称为deptId,其依赖于表tb_dept1的主键id。4、使用非空约束非空约束(Not Null Constraint)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统会报错。非空约束的语法规则如下:字段名称 数据类型 not null【例6】定义数据表tb_emp6,指定

11、员工的名称不能为空,SQL语句为:CREATE TABLE tb_emp6 ( id int(11) PRIMARY KEY, name varchar(25) NOT NULL, deptId int(11), salary float, CONSTRAINT fk_emp_dept2 FOREIGN KEY (deptId) REFERENCES tb_dept(id);执行后,在tb_emp6中创建一个Name字段,其插入值不能为空(NOT NULL)。5、使用唯一性的约束唯一性约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值,唯一约束可以确保一列或者

12、几列不出现重复值。非空约束的语法规则如下:(1)在定义完列之后直接指定唯一的约束,语法规则如下:字段名 数据类型UNIQUE【例7】定义数据表tb_dept2,指定部门的名称唯一,SQL语句为:CREATE TABLE tb_dept2 ( id int(11) PRIMARY KEY, name varchar(22) UNIQUE, location varchar(50);(2)在定义完所有列之后指定唯一约束,语法规则如下:CONSTRAINT UNIQUE ()【例8】定义数据表tb_dept3,指定部门的名称唯一,SQL语句为:CREATE TABLE tb_dept3 ( id i

13、nt(11) PRIMARY KEY, name varchar(22), location varchar(50), CONSTRAINT STH UNIQUE(name);UNIQUE和PRIMARY KEY的区别:一个表中可以有多个字段声明为UNIQUE,但只能有一个PRIMARY KEY声明;声明为PRIMARY KEY的列不允许为空值,但是声明为UNIQUE的字段允许为空值(NULL)的存在。6、使用默认约束默认约束(Default Constraint)指定某列的默认值。如男性同学较多,性别就可以默认为男。如果插入一条新的记录时没能有为这个字段赋值,那么系统会自动为这个字段赋值为男

14、。默认约束的语法规则如下:字段名 数据类型DEFAULT 默认值【例9】定义数据表tb_emp7,指定员工的部门编号默认为1111,SQL语句为:CREATE TABLE tb_emp7 ( id int(11) PRIMARY KEY, name varchar(25) NOT NULL, deptId int(11) DEFAULT 1111, salary float, CONSTRAINT fk_emp_dept3 FOREIGN KEY (deptId) REFERENCES tb_dept(id);以上语句执行成功之后,表tb_emp7上的字段detpId拥有一个默认值1111,新

15、插入的记录如果没有指定部门编号,则默认都为1111。7、设置表的属性值自动增加在数据库应用中,经常希望在每次插入新记录时,系统自动生成字段的主键值,可以通过为表主键添加AUTO_INCREMENT关键字来实现。默认的,在MySQLk AUTO_INCREMENT的初始值是1,每新增一条记录,字段值自动加1。一个表只能有一个字段使用AUTO_INCERMENT约束,且该字段必须为主键的一部分。AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLIN、INT、BIGINT等)。设置唯一性约束的语法规则如下:字段名 数据类型 AUTO_INCREMENT【例10】定义

16、数据表tb_emp8,指定员工的编号自动递增,SQL语句为:CREATE TABLE tb_emp8( id int(11) PRIMARY KEY AUTO_INCREMENT, name varchar(25) NOT NULL, deptId int(11), salary float, CONSTRAINT fk_emp_dept5 FOREIGN KEY (deptId) REFERENCES tb_dept(id);上述例子执行后,会创建名称为tb_emp8中的id字段的值在添加记录的时候会自动增加,在插入记录的时候,默认的自增字段id的值从1开始,每次添加一条新记录,该值自动加1

17、。例如,执行如下插入语句:INSERT INTO tb_emp8 (name,salary) VALUES(Lucy,1000), (Lura,1200),(Kevin,1500);语句执行完后,tb_emp8表中增加3条记录,在这里并没有输入id的值,但系统已经自动添加该值,使用SELECT命令查看记录。提示:使用INSERT声明表中插入记录的方法,美其名曰不是SQL的标准语法,这种语法不一定被其他的数据库支持,只能在MySQLQ中使用。二、查看数据表结构使用SQL语句创建好数据表之后,可以查看表结构的定义,以确定表的定义是否正确。在MySQL中,查看表结构可以使用DESCRIBE和SHOW

18、 TABLE语句,本节将针对这两个语句分别进行详细的讲解。1、查看表基本结构语句DESCRIBEDESCRIBE/DESC语句可以查看表的字段信息,其中包括:字段名、字段数据类型、是否为主键、是否有默认值等。语法规则如下:DESCRIBE 表名;或者简写为:DESC 表名;查看表:select * from tb_emp8;【例11】分别使用DESCRIBE和DESC查看表tb_dept和表tb_emp1的表结构,操作过程如下:DESCRIBE tb_dept;DESC tb_emp1;其中,各个字段的含义分别解释如下:NULL:表示该列是否可以存储NULL值。key:表示该列是否已编制索引。

19、PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。Default:表示该列是否有默认值,如果有的话值是多少。Extra:表示可以获取的与给定列有关的附加信息,例如 AUTO_INCREMENT等。2、查看表详细结构语句SHOW CREATE TABLESHOW CREATE TABLE语句可以用来显示创建表时的CREATE TABLE语句,语法格式如下:SHOW CREATE TABLE ;提示:使用SHOW CREATE TABLE语句,不仅可以查看表创建时候的详细语句,而且还可以查看存储引擎和字符编码。如果不加G参数,显示的结

20、果可能非常混乱,加上参数G之后,可使显示结果更加直观,易于查看。【例12】使用SHOW CREATE TABLE查看表tb_emp1的详细信息,SQL语句及相应的执行结果如下示:SHOW CREATE TABLE tb_emp1;SHOW CREATE TABLE tb_emp1G;mysql SHOW CREATE TABLE tb_emp1G;* 1. row * Table: tb_emp1Create Table: CREATE TABLE tb_emp1 ( id int(11) default NULL, name varchar(25) default NULL, deptId

21、int(11) default NULL, salary float default NULL) ENGINE=MyISAM DEFAULT CHARSET=utf81 row in set (0.00 sec)三、修改数据表修改表指的是修改数据库中已经存在的数据表的结构,MySQL使用ALTER TABLE语句修改,常用的修改表的操作有:修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置,更改表的存储引擎,删除表的外键约束等。本节将对和修改表有关的操作进行讲解。alert table1、修改表名MySQL是通过ALTER TABLE语句来实现表名的修改,具体的语法规则如下

22、:ALTER TABLE RENAME TO ;其中TO为可选参数,使用与将不影响结果。查看表:mysqlSHOW TABLES;【例13】将数据表tb_dept3改名为tb_deptment3ALTER TABLE tb_dept3 RENAME tb_deptment3; 经过比较可以看到,数据列表中已经有了名称为了tb_deptmetnt3的表。提示:读者可以在修改表名称是使用DESC命令查看修改前后两个表的结构,修改表名并不修改表的结构,因此修必名称后和修改名称前的表的结构必然是相同的。2、修改字段的数据类型修改字段的数据类型,就是把字段的数据类型转换成另一种数据类型,在MySQL中修

23、改字段数据类型的语法规则如下:ALTER TABLE MODFIY 其中“表名”指要修改数据类型的字段所在表的名称,“字段名”指需要修改的字段,“数据类型”指修改后字段的新数据类型。【例14】将数据表tb_dept1中name字段的数据类型由VARCHAR(22)的修改成VARCHAR(30)可以看到现在name字段的数据类型为VARCHAR(2),下面修改其类型。输入SQL语句并执行:ALTER TABLE tb_dept MODIFY name VARCHAR(30);再次使用DESC查看表:mysqlDESC tb_dept1;+-+-+-+-+-+-+| Field | Type |

24、Null | Key | Default | Extra |+-+-+-+-+-+-+| id | int(11) | YES | | NULL | | | name | varchar(25) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +-+-+-+-+-+-+4 rows in set (0.05 sec)语句执行之后,检验会发现表tb_dept表中name字段的数据类型已经修改成了VARCHAR(30)修改成功。3、修改字段名MySQL中修改表字

25、段名的语法规则如下:ALTER TABLE CHANGE 其中,“旧字段名”指修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样即可,如下:【例15】将数据表tb_dept1中的location字段名称改为loc,数据类型保持不变。ALTER TABLE tb_dept1 CHANGE location loc varchar(50);【例16】将数据表tb_dept1中的loc字段名称改为location,同时将数据类型保持变为varchar(60)。ALTER TABLE tb_dept1 CHAN

26、GE loc location varchar(60);技巧:CHANGE也可以只修改数据类型,实现和MODIFY同样的效果;方法是将SQL语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”。提示:由于不同类型的数据在机器中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录。因此,当数据表中已经有数据时,不要轻易修改数据类型。4、添加字段随着业务需求的变化,可能需要在已经存在的表中添加新的字段,一个完整字段包括字段名、数据类型、完整性的约束。添加字段的语法格式如下:ALTER TABLE ADD 约束条件 FLRST | AFTER 已存在字段名;新字

27、段名为需要添加的字段的名称:“FIRST”为可选参数,其作用是将新添加剂的字段设置为表的第一个字段;“FIRST”这可选参数,其作用是将添加到指定的“已存在字段”的后面。提示:“FIRST”或“AFTER已存在字段名”用于指定新增字段在表中的位置,如果SQL语句中没有这两个参数,则默认将新添加的字段设置为数据表的最后列。A、添加完整性约束条件的字段【例17】在数据表tb_dept中添加一个没有完整性约束的int类型的字段managerId(部门经理编号),输入SQL语句如下:ALTER TABLE tb_dept ADD managerId int(10);使用DESC查看表tb_dept1,

28、会发现在表的最后添加了一个名为managerId的INT类型字段,结果如下:mysqlDESC tb_dept1;B、添加有完整性约束条件的字段【例18】在数据表tb_dept1中添加一个不能为空的varchar(12)类型的字段column1。输入如下SQL语句,并执行:ALTER TABLE tb_dept1 ADD column1 varchar(12) not null;使用DESC查看表tb_dept1。C、在表的第一列添加一个字段【例19】在数据表tb_dept中添加一个int类型的字段column2。输入如下SQL语句,并执行:ALTER TABLE tb_dept ADD column2 in

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1