zoukankan      html  css  js  c++  java
  • SQL从头開始

    SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)

    查询和更新指令构成了 SQL 的 DML 部分:

    • SELECT - 从数据库表中获取数据
    • UPDATE - 更新数据库表中的数据
    • DELETE - 从数据库表中删除数据
    • INSERT INTO - 向数据库表中插入数据
    SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。

    我们也能够定义索引(键),规定表之间的链接,以及施加表间的约束。

    SQL 中最重要的 DDL 语句:

    • CREATE DATABASE - 创建新数据库
    • ALTER DATABASE - 改动数据库
    • CREATE TABLE - 创建新表
    • ALTER TABLE - 变更(改变)数据库表
    • DROP TABLE - 删除表
    • CREATE INDEX - 创建索引(搜索键)
    • DROP INDEX - 删除索引

    一步一步来:

    先建立个数据库

    (注意:SQL对大写和小写不敏感,都习惯大写)

    CREATE DATABASE db_Name

    然后建立一张表

    CREATE TABLE Article(
    Id int NOT NULL,
    title VARCHAR(50),
    author VARCHAR(50),
    keyword VARCHAR(50),
    CreateDate datetime,
    content text,
    express text
    )

    然后大功告成。一个数据库一张表就出来了,但是有个问题,我想设置个主键怎么办,并且要实现值自增(就是这个列的值能够依据你的行自己主动建值)

    原先我是这么写的。

    ALTER TABLE [db_Name].[dbo].[Article]
    ADD CONSTRAINT Id_key PRIMARY KEY (Id)

    不要笑,偶是刚開始接触数据库,所以导致上面错误,什么错误呢?就是主键是搞好了,可是自增的效果没实现,怎么实现呢,然后我试了试,发现有两个属性设置:IDENTITY 和 auto_increment,在SQL中使用IDENTITYkeyword来运行auto_increment(注:IDENTITY的開始值是1,每条新纪录递增1),可是不幸的是这个keyword仅仅能在两种情况下使用,一种是在建立表的时候使用,例如以下:

    CREATE TABLE Article(
    Id int NOT NULL PRIMARY KEY IDENTITY,
    title VARCHAR(50),
    author VARCHAR(50),
    keyword VARCHAR(50),
    CreateDate datetime,
    content text,
    express text
    )
    还有一种是在加入新字段的时候。例如以下:

    ALTER TABLE [db_Name].[dbo].[Article]
    ADD Id int IDENTITY(1,1)
    感觉第一种和另外一种比較起来,如今仅仅能选择另外一种了,应为表已经建立好了,不想再去删掉表重建,那就删掉Id字段又一次加入字段吧。然后我就去删掉那个字段。悲剧又来了,结果那个字段删不掉。代码例如以下:

    ALTER TABLE [db_Name].[dbo].[Article]
    DROP COLUMN Id
    后来脑袋灵光一闪,是不是上面我设置主键的时候导致删不掉的,小试了一下,我先删除主键约束,代码例如以下:

    ALTER TABLE [db_Name].[dbo].[Article]
    DROP CONSTRAINT Id_key
    然后再运行删除Id字段的代码。结果能够了

    好了,能够又一次加入自增的字段了。代码例如以下:

    ALTER TABLE [db_Name].[dbo].[Article]
    ADD Id int IDENTITY(1,1)

    好了,加入主键约束。代码例如以下:

    ALTER TABLE [db_Name].[dbo].[Article]
    ADD CONSTRAINT Id_key  PRIMARY KEY (Id)

    好了,一个有自增的主键表建立好了。忘了,能够加入信息了,代码例如以下:

    INSERT INTO [db_Name].[dbo].[Article]
    (
    title,
    author,
    keyword,
    CreateDate,
    content,
    express
    )
    VALUES
    (
    '中秋节',
    '家',
    '节日',
    GETDATE(),
    '下个节日就是中秋节,自从踏上大学到如今每一个中秋节都是在外面过的,有时候静下心来想想真是对不起家里的老爸老妈,每次国庆回家,老爸老妈都会拿出家里面给我保存的月饼,都说养儿防老,儿却踏他乡',
    '除了国庆和过春节的假期,其他假期实在是短,整个假期的天数还不够花费在路上的时间,唯一的就是自己给自己放假'
    )



    待续.....










  • 相关阅读:
    (转)搜索Maven仓库 获取 groupid artifactId
    idea自用快捷键(非常实用)
    (2)一起来看下使用mybatis框架的insert语句的源码执行流程吧
    (1)复习jdbc操作,编译mybatis源码,准备为你的简历加分吧
    关于CPU核心,线程,进程,并发,并行,及java线程之间的关系
    数组排序
    泛型类、泛型方法、类型通配符的使用
    数组的三种声明方式总结、多维数组的遍历、Arrays类的常用方法总结
    Java基本数据类型总结、类型转换、常量的声明规范,final关键字的用法
    JAVA基础语法——标识符、修饰符、关键字(个人整理总结)
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6985903.html
Copyright © 2011-2022 走看看