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 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
     
  • 相关阅读:
    [Python] socket实现TFTP上传和下载
    [Python] socket发送UDP广播实现聊天室功能
    [C#] 建立UDP连接、发送广播
    [Python] Scrapy爬虫框架入门
    [Python] 常见的排序与搜索算法
    [Python] 数据结构--实现顺序表、链表、栈和队列
    [Python] Django框架入门5——静态文件、中间件、上传图片和分页
    [Python] Django框架入门4——深入模板
    [Python] Django框架入门3——深入视图
    [Python] Django框架入门2——深入模型
  • 原文地址:https://www.cnblogs.com/yaopengfei/p/7181804.html
Copyright © 2011-2022 走看看