zoukankan      html  css  js  c++  java
  • 第五节:数据库操作和表操作相关指令

    一. MySQL操作

    1. 数据库相关操作

     (1). 查看有哪些数据库:   show databases;

        (2). 使用指定数据库:      use 数据库名称;

        (3). 查看指定数据库中有哪些表:      show tables;

        (4). 创建指定名称的数据库:      create database 数据库名称;

        (5). 删除数据库: drop database 数据库名称;

      特别注意:上面指令哪些带s,哪些不带s;(要带;)见下图可视化界面:

           

    2. 表的相关操作

    (1). 表约束

           a. 非空约束:NOT NULL,不允许某列为空。

           b. 设置列的默认值:DEFAULT。

           c. 唯一约束:UNIQUE,在该表中该列的内容必须唯一(但是可以为空)。

           d. 主键约束:PRIMARY KEY,非空且唯一。

           e. 主键自增长:AUTO_INCREMENT, 从1开始,步长为1.

           f. 外键约束:FOREIGN KEY,A表中的外键列的值参照与B表总的某一列。

    (2). 表创建

    注意:最后一行没有逗号,若在建表中使用到了数据库的关键字。比如新建一张订单表:(order),但是order是数据库中的关键字(排序使用),表名:t_order,若非要使用order这个单词.此时使用反引号(`)括起来,`order`.  一般,起表名为:t_名字。 

    (3). 删除表 

      DROP TABLE 表名;

    (4). 查看表结构

      DESC TABLE 表名;

    (5). 查看表的详细定义

      SHOW CREATE TABLE 表名;

    3. 案例

         需求:创建一个用户信息表,主键为id,自增; 用户名最多20位,不能重复且默认为空;密码最多12位,不能为空,默认为‘123456’。

    CREATE TABLE `userInfor` (
      `id` INT(8)  PRIMARY KEY AUTO_INCREMENT, 
      `userName` varchar(20) DEFAULT NULL UNIQUE,
      `userPwd` varchar(12) DEFAULT '123456' NOT NULL
    );

    查看表结构:

    查看表详细结构:

    二. SQLServer

    1. 数据库相关

    (1).创建数据库

    create database database_name
      [ on
        [primary]  [<filespec> [,...n] ]
      ]
      [ log on 
      [<filespec>[,...n]]
      ];
     
      <filespec>::=
       (
         name=logical_file_name
         [  ,  newname = new_login_name ]
         [  ,  fileName = {'os_file_name' | 'fileStream_path'} ]
         [  ,  size = size[ KB | MB | GB | TB]  ] 
         [  ,  MaxSize  = {max_size [ KB | MB |GB |TB] | UNLIMITED}  ] 
         [  ,  FILEGROWTH  = growth_increment [ KB  | MB  |GB  | TB  | %]    ] 
    );

    解释:

      1.database_name:数据库名称,不能与SQL SERVER中现有的数据库实例名称相冲突,最多可包含128个字符;

      2.ON:指定显示定义用来存储数据库中的数据的磁盘文件。

      3.PRIMARY:指定关联的<filespec>列表定义的主文件,在主文件组<filespec>项中指定第一个文件将生成主文件,一个数据库只能有一个主文件。如果没有指定primary,那么create datebase 语句中列出的第一个文件将成为主文件。

      4.LOG ON:指定用来存储数据库日志的日志文件。LOG ON后跟以逗号分隔的用以定义日志文件的<filespec>列表。如果没有指定log on,将自动创建一个日志文件,其大小为该数据库的所有文件大小总和的25%或521KB,取两者之中最大者。

      5.name:指定文件的逻辑名称。指定filename时,需要使用name,除非指定 FOR ATTCH 子句之一。无法将filename文件组命名为primary。

      6.filename:指定创建文件时又操作系统使用的路径和文件名。执行create datebase 语句前,指定路径必须存在.

      7.size:指定数据库文件的初始大小,如果没有为主文件提供size,数据库引擎使用model数据库中主文件的大小。

      8.max_size:指定文件可增大的最大大小。可使用KB、MB、GB和TB做后缀,默认值为MB。max_size是整数值.如果不指定max_size,则文件将不断增长直至磁盘被占满。UNLIMITED表示文件一直增长到磁盘装满.

      9.filegrowth:指定文件的自动增量。文件的filegrowth设置不能超过MAXSIZE设置。该值可以 MB、KB、GB、TB或百分比(%)为单位指定,默认值为MB,如果指定%,则增量大小为发生增长时文件大小的的指定百分比。值为0表明自动增长被设为关闭,不允许增加空间.

      eg:创建一个数据库sample_db,该数据库的主数据文件逻辑名为sample_db,物理文件名称为sample_db.mdf,初始大小为5MB,最大尺寸为30MB,增长速度为5%;数据库日志文件的逻辑名称为sample_log,保存日志文件的物理名称为sample_log.ldf,初始大小为1MB,最大尺寸为8MB,增长速度为10%。

    create database[sample_db] on primary
    (
        name='sample_db',
        filename='C:SQL_SERVER_tempsampl_db.mdf',
        size=5120KB,
        maxsize=30MB,
        filegrowth=5%
    )
    log on 
    (
        name='sample_log',
        filename='C:SQL_SERVER_tempsample_log.ldf',
        size=1024KB,
        maxsize=8192KB,
        filegrowth=10%
    )

    (2). 修改数据库

      增加或删除数据文件、改变数据文件或日志文件的大小和增长方式,增加或者删除日志文件和文件组。

    alter database database_name
    {
       modify name=new_database_name
       | Add file<filespec> [ ,...n ] [ TO filegroup {  filegroup_name } ]
       | Add log file <filespec> [ ,...n ] 
       | remove file logical_file_name
       |modify file <filespec>
    }
      <filespec>::=
       (
         name=logical_file_name
         [  ,  newname = new_login_name ]
         [  ,  fileName = {'os_file_name' | 'filestream_path'} ]
         [  ,  size = size[ KB | MB | GB | TB]  ] 
         [  ,  MaxSize  = {max_size [ KB | MB |GB |TB] | UNLIMITED}  ] 
         [  ,  FILEGROWTH  = growth_increment [ KB  | MB  |GB  | TB  | %]    ] 
         [    ,     offline ]
    );

    解析:

        database_name:要修改的数据库的名称;

      modify name:指定新的数据库名称;

      Add file:向数据库中添加文件。

      to filegroup{filegroup_name}:将指定文件添加到文件组。filegroup_name为文件组名称.

      Add log file:将要添加的日志文件添加到指定的数据库

      remove file logical_file_name:从SQL Server的实例中删除逻辑文件并删除物理文件。除非文件为空,否则无法删除文件。logical_file_name是在Sql Server 中引用文件时所用的逻辑名称。

      modify file:指定应修改的文件,一次只能更改一个<filespec>属性。必须在<filespec>中指定name,以标识要修改的文件。如果指定了size,那么新大小必须比文件当前大小要大。

    A. 将sample_db数据库中的主数据文件的初始大小修改为15MB:

    alter database sample_db
      modify file
       (
        name='sample_db',
        size=15MB
      );

    (3). 删除数据库

    drop database XXX

    PS:以上SQL指令都可以通过SQLServer的图形化界面快速实现。

    2. 表的相关操作

    CREATE TABLE dbo.Products  
       (ProductID int PRIMARY KEY NOT NULL,  
       ProductName varchar(25) NOT NULL,  
       Price money NULL,  
       ProductDescription varchar(max) NULL)  
    GO  

    !

    • 作       者 : Yaopengfei(姚鹏飞)
    • 博客地址 : http://www.cnblogs.com/yaopengfei/
    • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
    • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
     
  • 相关阅读:
    Lucene in action 笔记 case study
    关于Restful Web Service的一些理解
    Lucene in action 笔记 analysis篇
    Lucene in action 笔记 index篇
    Lucene in action 笔记 term vector
    Lucene in action 笔记 search篇
    博客园开博记录
    数论(算法概述)
    DIV, IFRAME, Select, Span标签入门
    记一个较困难的SharePoint性能问题的分析和解决
  • 原文地址:https://www.cnblogs.com/yaopengfei/p/7181804.html
Copyright © 2011-2022 走看看