美文网首页
数据库中表的操作

数据库中表的操作

作者: 爽爽ing | 来源:发表于2018-09-09 20:40 被阅读0次

    这周我们学习了数据库中表的操作,现在我们来整理一下怎样操作吧!

    首先我们得使用CREATE TABLE语句创建新的表的名字,在关键字CREATE TABLE 之后,加上列表的名字和定义,用逗号隔开,如图所示:


    然后我们可以用SHOW TABLES;查看表,如图所示:
    然后我们可以查看表的详细信息,用SHOW CREATE TABLE +表的名字,如图所示:
    查看表的结构用上语句DESC+表的数据名;如图所示:

    我们还可以查看某一列的数据用DESC+表的数据名+列名;如图所示:

    还有需要注意的是MYSQL语句中忽略空格,语句可以在一个长行上输入,也可以分为许多行,他们的作用都相同,你选择一个自己做习惯的方式插入,前面的CREATE TABLE语句就是语句格式化的一个很好的例子,他被安排在多个行上,其中的列定义进行了恰当的缩进,以便阅读和编辑,以何种缩进格式安排SQL没有规定,但是如果想一个表不存在的时候创建它,就应该在表名后面给出[IF NOT EXISTS]这样做不检查已有表的模式是否与你打算创建的格式相匹配,它只是查看表名是否存在,并且在表名不存在的时候创建它。

    使用NULL值

    **NULL值就是没有值,或者缺值的情况下允许NULL值的列也允许在 插入行时不给出该列的值。不允许NULL值的列不接受该列没有值的行,换句话说,在插入或更新行时,该列必须有值。
    **主键 primary key对于主键的理解: 表中每一行都应该有可以唯一标识自己的一列(或一组列)。一个顾客表可以使用顾客编号列,而订单表可以使用订单ID,雇员表可以使用雇员ID或雇员社会保险号等等。 唯一标识表中每行的这个列(或这组列)称为主键。主键用来表示一个特定的行。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行。
    设计一个表的时候要注意: 应该总是定义主键 虽然并不总是都需要主键,但大多数数据 库设计人员都应保证他们创建的每个表具有一个主键,以便于 以后的数据操纵和管理。 表中的任何列都可以作为主键,只要它满足以下条件:
    *
    任意两行都不具有相同的主键值;
    *
    每个行都必须具有一个主键值(主键列不允许NULL值)

    主键通常定义在表的一列上,但这并不是必需的,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。
    除MySQL强制实施的规则外,应该坚持的几个普遍认可的最好习惯为:
    *
    不更新主键列中的值;
    *
    不重用主键列的值;
    *
    不在主键列中使用可能会更改的值。(例如,如果使用一个 名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

    **使用AUTO_INCREMENT自增: 例如: customers表中的顾客由列userid唯一标识,每个顾客有一个唯一编号。来保证用户的唯一性。在增加一个新顾客,需要一个新的顾客ID。这些编号可以任意,只要它们是唯一的即可。显然,使用的最简单的编号是下一个编号,所谓下一个编号是大于当前最大编号的编号。例如,如果userid的最大编号为10005,则插入表中的下一个顾客就可以再上一个userid的编号基础上加一,10006就是当前插入数据的userid。设置默认值(DEFAULT)
    如果在插入行时没有给出值,MySQL允许指定此时使用的默认值。默认值用CREATE TABLE语句的列定义中的DEFAULT关键字指定。 例如我们创建一个学生表
    CREATE TABLE students( stu_id int NOT NULL AUTO_INCREMENT, birthday date NOT NULL, address varchar(50) NOT NULL DEFAULT “山西长治”, PRIMARY_KEY(stu_id) );更新表(ALTER TABLE)
    为更新表定义,可使用ALTER TABLE语句。虽然有这样一个功能,但是,理想状态下,当表中存储数据以后,该表就不应该再被更新。在表的设计过程中需要花费大量时间来考虑,以便后期不对该表进行大的改动。 为了使用ALTER TABLE更改表结构,必须给出下面的信息:
    *
    在ALTER TABLE之后给出要更改的表名(该表必须存在,否则将出错);

    相关文章

      网友评论

          本文标题:数据库中表的操作

          本文链接:https://www.haomeiwen.com/subject/suydgftx.html