SQL语句及其种类

1. SQL语句分为三类:

    DDL(Data Definition Language): CREATE、DROP、ALTER;

    DML(Data Manipulation Language): SELECT、INSERT、UPDATE、DELETE;

    DCL(Data Control Language): COMMIT、ROLLBACK、GRANT、REVOKE;

2. SQL语句的基本书写规则:

    SQL语句要以分号(;)结尾;

    SQL语句不区分大小写,但是插入到表中的数据是区分大小写的;

    单词之间使用半角空格隔开;

表的创建、删除和更新

1. 创建数据库和表:

    使用CREATE语句创建数据库:

    CREATE DATABASE shop;

    该语句创建一个名为shop的数据库,使用该数据库:

    USE shop    (MySQL)

    使用CREATE语句创建表:

    CREATE TABLE <表名>(
        <列名1> <数据类型> <该列所需约束>,
        <列名2> <数据类型> <该列所需约束>,
        <列名3> <数据类型> <该列所需约束>,
                         …
        <该表的约束1>, <该表的约束2>,  ...
    );

    示例:

    CREATE TABLE Shohin(
        shohin_id        CHAR(4)            NOT NULL,
        shohin_mei     VARCHAR(100) NOT NULL,
        shohin_bunrui VARCHAR(32)   NOT NULL,
        hanbai_tanka  INTEGER           ,
        shiire_tanka    INTEGER           ,
        torokubi           DATE                 ,
        PRIMARY KEY (shohin_id)
    );

    创建好后,查看表的定义内容:

    SHOW COLUMNS from Shohin; (MySQL)

2. 命名规则:

    1. 数据库名称,表名、列名都使用半角英文字母、半角数字、下划线组成,并且以半角英文字母开头;

    2. 同一个数据库中不能有同名表,同一个表中不能有同名列;

3. 表的删除,使用DROP语句可以删除表格和数据库:

    DROP TABLE <表名>;

    DROP DATABASE <数据库名>;

    表在删除后无法恢复;

4. 表定义的更新:

    使用ALTER语句更新表的定义:

    ALTER TABLE <表名> ADD COLUMN <列的定义>;

   如: ALTER TABLE Shohin ADD COLUMN shohin_mei_kana VARCHAR(100);

    ALTER TABLE <表名> DROP COLUMN <列名>;

    如 ALTER TABLE Shohin DROP COLUNM shohin_mei_kana;

    ALTER TABLE <表名> MODIFY <列名> <修改后的定义>;

    如 ALTER TABLE Shohin MODIFY id integer auto_increment;

5. 修改表名:

    标准SQL并没有RENAME,各个数据库更改表名的语句分别为:

    Oracle/PostgreSQL: ALTER TABLE Sohin RENAME TO Shohin;

    DB2: RENAME TABLE Sohin TO Shohin;

    SQL Server: sp_rename ’Sohin’, ’Shohin’;

    MySQL: RENAME TABLE Sohin TO Shohin;

6. 向表中插入数据:

    使用INSERT语句向表中插入数据:

    INSERT INTO <表名> VALUES <每列的内容>;

    如: INSERT INTO Shohin Values('0001','T-shirt','clothes',1000,500,'2009-09-20’);

    通过 SELECT * FROM Shohin查看表记录 

 

SQL基础学习_01_数据库和表的更多相关文章

  1. SQL 基础学习(2) Joining 和function , 作业没有做,需要看百宝箱。NOsql的概念

    SQL 基础学习(2) Joining 可以同时关联(joining)多张表进行复杂的查询. 相比于用Rails捞出数据再用Ruby进行过滤组合,使用SQL更加高效,节能. 以下是 users has ...

  2. Oracle SQL 基础学习

    oracel sql 基础学习 CREATE TABLE USERINFO ( ID ,) PRIMARY KEY, USERNAME ), USERPWD ), EMAIL ), REDATE DA ...

  3. SQL Server中查询数据库及表的信息语句

    /* -- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句. -- 下面的查询语句中一般给出两种查询方法, -- A方法访问系统表,适应于SQL 20 ...

  4. day 46 Django 学习3 数据库单表操作以及反向解析

    前情提要: Django 已经学了不少了, 今天学习链接数据库的操作.以及相关的反向解析等 一:反向解析 1:反向解析模板层 跳转时设定url会随着前面的路由改变而改变         2:反向解析之 ...

  5. SQL Server 动态生成数据库所有表Insert语句

    一. 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便: 但是, ...

  6. SQL基础学习_04_视图

    视图 1. 视图的创建     视图就是保存好的SELECT语句,这些SELECT语句执行之后会产生新的表,所以在SQL中,视图和表是不做差别对待的,也就是SQL也可以对视图做一些操作:     由于 ...

  7. sql server新旧数据库的表结构差异

    sql server编写通用脚本自动检查两个不同服务器的新旧数据库的表结构差异 问题:工作过程中,不管是什么项目,伴随着项目不断升级版本,对应的项目数据库业务版本也不断升级,数据库出现新增表.修改表. ...

  8. SQL Serever学习11——数据库的安全管理

    公司管理软件设计完成,但是日常工作繁忙,向领导提出增加几个管理员,帮助管理和维护系统,领导同意了,但是要求一定要管理好这几个管理员用户,保证数据库的安全. 修改身份验证模式 数据库验证机制 sqlse ...

  9. Linux基础学习-MariaDB数据库管理系统

    数据库管理系统 数据库是指按照某些特定结构来存储数据资料的数据仓库,数据库管理系统是一种能够对数据库中存放的数据进行建立.修改.删除.查找.维护等操作的软件程序. 初始化MariaDB服务 [root ...

随机推荐

  1. hibernate log4j

    log4j.rootLogger=warn, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender. ...

  2. JavaSE&&JavaEE&&JavaME的区别【Java中常用的包结构】

    一.javaEEJavaSEJavaME用的同一个jar包吗? javaEE JavaSE javaME 用的JDK是同一个,开发j2SE工程的话只要有JDK就可以了,开发J2EE工程和J2ME工程除 ...

  3. Backbone简单示例

    要的资源: <script type="text/javascript" src="../dep/underscore-1.6.0.min.js"> ...

  4. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第8章节--配送SP2013Apps

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第8章节--配送SP2013Apps         本章节你将学到: 通过SP商店配送Apps: 在商店授予证书并管理A ...

  5. Qt音乐播放器制作(二)Easy Player

    两天没有公布新的动态.主要原因还是个人的生活和工作时间限制,如今赶晚贴出第二版. 先放个图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFuNV9y ...

  6. 【SICP练习】151 练习4.7

    练习4-7 原文 Exercise 4.7. Let* is similar to let, except that the bindings of the let variables are per ...

  7. 看看android基础知识,谁帮我作答

    无论怎么着,了解一点android的基本知识还是有必要的,就当开阔一些自己的眼界吧. .. . android的四大功能组件是_activity_,_service_,_BroadcastReceiv ...

  8. Azure: 给 ubuntu 虚机挂载数据盘

    在 azure 上创建的虚机默认会分配两个磁盘,分别是系统盘和一个临时磁盘.如果我们要在系统中安装使用 mysql 等软件,需要再创建并挂载单独的数据盘用来保存数据库文件.这是因为临时磁盘被定义为:用 ...

  9. 一位10年Java工作经验的架构师聊Java和工作经验

    从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源软件推动者之一, ...

  10. Springboot-添加对jsp支持

    1,在项目的配置文件加入以下依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>j ...