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. ERROR: unable to bind listening socket for address ’127

    ERROR: unable to bind listening socket for address '127.0.0.1:9000′ 解决办法: killall php-fpm 然后重启即可. 我的 ...

  2. mshta 反弹shell

    kali系统准备: 复制以下ruby代码到/usr/share/metasploit-framework/modules/exploits/windows/smb/msh_shell.rb目录(要注意 ...

  3. 全本 | iKcamp翻译 | 《JavaScript 轻量级函数式编程》|《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson - <You-Dont-Know-JS>作者 译者团队(排名不分先后):阿希.blueken.bruc ...

  4. POST和GET有什么区别?

    1. GET主要用于从服务器查询数据,POST用于向服务器提交数据 2. GET通过URL传递数据,POST通过http请求体传递数据 3. GET传输数据量有限制,不能大于2kb,POST传递的数据 ...

  5. Linux基础-最基础

    Linux基础 为了更好的学习知识,开通此博客,以前博客丢了...记录一下知识点,希望能在这里与大家互相学习交流. 20171113 14:00 Linux基础-基本知识 Linux树状文件系统结构 ...

  6. 关于hash和ico的一些关联

    最近測试提出一个bug.说某几个页面中的ico不显示,于是针对此问题排查原因. 首先,确保页面中的link已引入favicon.ico. 经查看,发现是js中的location.hash导致了ico不 ...

  7. android checkbox 未选中状态 已选中状态 替换成自己的图片

    效果图: 未选中状态: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  8. Javaproject集成log4j 2.x

    log4j2和log4j在配置文件和引入jar包上出现了不同.这里做个备忘,这里使用的版本号为apache-log4j-2.3-bin.zip. 1.apache-log4j-2.3-bin.zip下 ...

  9. css怎样让背景充满整个屏幕

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. 转:java泛型总结

    转自:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public ...