数据表的基本操作(一)

原创 2015年07月08日 12:21:00

数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。

数据表定义为列的集合

在创建数据表之前,应该使用语句 use <数据库名> 指定操作是在哪个数据库中进行

创建表的语句为create table,语法规则为:

create table 表名
(
    字段名1,数据类型 [列级别约束条件] [默认值],
    字段名2,数据类型 [列级别约束条件] [默认值],
    。。。。

    [表级别约束条件]
);

mysql> create table tb1
    -> (id int(11),
    ->  name varchar(25),
    -> deptId int(11),
    -> salary float
    -> );
Query OK, 0 rows affected (0.35 sec)

创建表的时候需要指定以下信息:
1.表名称,不区分大小写,不可以使用sql语言中的关键字
2.数据表中每一个列的名称和数据类型,多个列要用逗号分隔

使用show tables;来查看已经存在的表

mysql> show tables;
+------------------+
| Tables_in_mytest |
+------------------+
| tb1              |
+------------------+
1 row in set (0.02 sec)
//我的数据库名称为mytest表名为tb1

主键,即主码,是表中一列或者多列的组合,主键约束要求主键列的数据的唯一并且不可以为空,主键可以唯一的标识表中的一条记录。

主键分为:单字段主键和多字段主键

单字段主键
1.定义列的同时指定主键,语法规则为

     字段名  数据类型 primary key [默认值]
    例如:
    id int(11) primary key,//这里就定义了id为主键

2.在定义完所有列后制定主键

    [constraint<约束名>] primary key [字段名]
    例如:
    primary key(id)

多字段联合主键

语法规则为:

    primary key[字段1,字段2,字段3]
mysql> create table td2
    -> (
    ->    name varchar(25),
    ->    deptId int(11),
    ->    salary float,
    ->    primary key(name,deptId)
    -> );
Query OK, 0 rows affected (0.10 sec)

使用外键约束

外键:用来在两个表的数据之间来建立链接的,可以是一列或者多列,一个表可以有一个或者多个外键

外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,那么每一个外键值必须要等于另一个表中主键的某个值

定义外键后,不允许删除在另一个表中具有关联关系的行。

主表:对于两个具有关联关系的表而言,相关联的字段中主键所在的那个表就是主表

从表:对于两个具有关联关系的表而言,相关联的字段中外键所在的那个表就是从表

创建外键的语法:

[constraint <外键名>] foreign key 字段名1 [,字段名2,。。。]
references <主表名> 主键列1 [,主键列2,。。]

外键名为需要定义的外键约束的名字,一个表中不能有相同名称的外键

字段名:子表中需要添加外键约束的字段列

主表名:被子表外键所依赖的表的名称

主键列:主表中定义的主键列,或者列组合

mysql> create table tb2
    -> (
    ->    id int(11),
    ->    deptid int(11),
    ->    primary key(id)
    -> );
Query OK, 0 rows affected (0.06 sec)

mysql> create table tb3
    -> (
    ->    id int(11),
    ->    dp int(11),
    ->    constraint empid foreign key(dp) references tb2(id)
    -> );
Query OK, 0 rows affected (0.06 sec)
//这里最终会使得tb3中添加了名称为empid的外键约束,外键名称为dp,依赖与表tb2中的**主键**id,在这里还应该注意的是
//子表的外键必须是关联父表的主键,且关联字段的数据类型必须匹配,如果类型不一致会报错

非空约束代表的是字段的值不能为空,添加了非空约束的字段,如果用户在添加数据的时候没有指定值,那么会报错

语法规则

字段名 数据类型 not null

具体案例:

mysql> create table tb4
    -> (
    ->     id int(11) not null
    -> );
Query OK, 0 rows affected (0.11 sec)

表明了id不可以为空

唯一性约束要求该列唯一,允许为空,但是只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值
语法规则有两种

1.在定义完列后直接指定唯一约束
字段名 数据类型 unique


    mysql> create table tb5
    -> (
    ->    id int(11) primary key,
    ->    name varchar(25) unique
    -> );
Query OK, 0 rows affected (0.09 sec)

2.定义完所有列之后指定唯一约束
[constraint <约束名>] unique(<字段名>)

mysql> create table tb6
    -> (
    ->     id int(11) primary key,
    ->     name varchar(25)
    ->     ,
    ->     constraint sth unique(name)
    -> );
Query OK, 0 rows affected (0.19 sec)

这里指定了name的名称的唯一

unique和primary key的区别:

一个表中可以有多个字段声明为unique,但是只能有一个primary key 声明,声明为primary key的列不允许出现空值,但是声明为unique的字段允许有空值的出现

版权声明:可以随意转载

数据结构--单链表的基本操作(C语言实现)

数据结构--单链表的基本操作(C语言实现)     #include #include #define ERROR 0 #define OK   1...
  • qq_33609401
  • qq_33609401
  • 2016年09月27日 17:30
  • 1164

【数据结构】 链表的19种基本操作(完整版)

基于这篇文章: http://www.cnblogs.com/lifuqing/archive/2011/08/20/List.html 作者最后只给出了前面12中操作的代码,这里我帮他补全 链表...
  • fanxingzju
  • fanxingzju
  • 2014年04月03日 17:11
  • 1381

数据结构之链表的基本操作

链表的基本操作。#include #include #define OK 1 #define ERROR 0 #define OVERFLOW -2 using namespace std; type...
  • wojiaohuangyu
  • wojiaohuangyu
  • 2015年05月22日 17:14
  • 1871

后台学习之路(一) mysql(数据表基本操作以及约束初识)

如果大家在安装mysql过程中出现问题,请看另一篇文章(适用于Windows 版本5.7.16)http://blog.csdn.net/sinat_35670989/article/details...
  • sinat_35670989
  • sinat_35670989
  • 2017年01月20日 16:27
  • 579

MySQL——数据表的基本操作

创建数据表的基本形式CREATE TABLE ( 字段名1,数据类型[列级别约束条件][默认值], 字段名1,数据类型[列级别约束条件][默认值], ...... [表级别约束条件] ); 创建员工...
  • helloKingshan
  • helloKingshan
  • 2017年03月19日 21:42
  • 133

MySQL数据库学习03-数据表的基本操作:修改

一、修改表名 修改表名并不修改表的结构,只是修改表的名称。alter table 旧表名 rename to 新表明; 或 rename table 旧表名 to 新表名;a.使用alter 语句修...
  • valderfeild
  • valderfeild
  • 2017年11月17日 11:24
  • 44

MySQL数据库 之 数据表的基本操作

在数据库中,数据表是其中最重要、最基本的操作对象,是数据存储的基本单位。 此篇博文列举了一些数据表的常用操作命令。...
  • cybeyond_xuan
  • cybeyond_xuan
  • 2017年12月18日 02:01
  • 103

数据表的基本操作 例题 stage1-6

第四章 数据表的基本操作【例4.1】创建员工表tb_emp1。 首先创建数据库,SQL语句如下:CREATE DATABASE test_db;选择创建表的数据库,SQL语句如下:USE test...
  • weixin_38628915
  • weixin_38628915
  • 2017年12月11日 16:07
  • 46

数据表的基本操作之创建数据表

数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。 本模块将介绍数据表...
  • jijian_jinan
  • jijian_jinan
  • 2015年01月27日 15:40
  • 345

MongoDB数据表基本操作

MongoDB数据表基本操作 查看全部数据表 > use ChatRoom switched to db ChatRoom > show collections Account ...
  • yangyu19910407
  • yangyu19910407
  • 2013年09月26日 11:58
  • 588
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据表的基本操作(一)
举报原因:
原因补充:

(最多只允许输入30个字)