如何利用SQL语句创建数据库详解

目录
  • 前言
  • 建立数据库
  • 总结

前言

SQL语言是集DDL、DML和DCL于一体的数据库语言

SQL语言主要由以下9个单词引导的操作语句来构成,但每一种语句都能表达复杂的操作请求

  • DDL语句引导词:Create(建立),Alter(修改),Drop(撤销)

模式的定义和删除,包括定义Database, Table,View,Index,完整性约束条件等,也包括定义对象(RowType行对象,Type列对象)

  • DML语句引导词:Insert,Delete,Update,Select

各种方式的更新与检索操作,如直接输入记录,从其他Table(由SubQuery建立)输入

各种复杂条件的检索,如直接查找,模糊查找,分组查找,嵌套查找等

各种聚集操作,求平均、求和、……等,分组聚集,分组过滤等

  • DCL语句引导词:Grant,Revoke

安全性控制:授权和撤销授权

建立数据库

包括两件事:定义数据库和表(DDL),向表中添加元组(DML)

DDL:

创建数据库(DB)

create database 数据库名;

创建DB中的Table(定义关系模式)

create table 表名(列名 数据类型 【Primary key| Unique】【Not null】

【,列名 数据类型 【Not null】,...】);

举例:定义学生表

Create Table Student(S# char(8) not null, Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6));   // S#表示id

"【】"表示其括起的内容可以省略,"|"表示其隔开的两项可取其一

Primary key:主键约束。每个表只能创建一个主键约束。

Unique:唯一性约束(即候选键),可以有多个唯一性约束。

Not null:非空约束。选择Not null表明该列不允许有空值出现。

语法中的数据类型在SQL标准中有定义。

在SQL-92标准中定义的数据类型

  • char(n): 固定长度的字符串
  • varchar(n): 可变长度字符串
  • int: 整数 //有时不同系统也写作integer
  • numeric(p, q): 固定精度数字,小数点左边p位,右边p-q位
  • real: 浮点精度数字 //有时不同系统也写作float(n),小数点后保留n位
  • date: 日期(如2021-09-12)
  • time: 时间(如15:25:00)
  • ...

现行商用DBMS的数据类型有时和上面有些差异,请注意;和高级语言的数据类型总体上是一致的,但也有些差异。

  • 定义Table及其各个属性的约束条件(完整性约束)
  • 定义View(定义外模式及E-C映像)
  • 定义Index、Tablespace……等(定义物理存储参数)
  • 上述各种定义的撤销与修正

DDL通常由DBA来使用,也有DBA授权后由应用程序员来使用

包括两件事:定义数据库和表(DDL),向表中添加元组(DML)

DML:

  1. 向Table中追加新的元组:Insert
  2. 修改Table中某些元组的某些属性的值:Update
  3. 删除Table中的某些元组:Delete
  4. 对Table中的数据进行各种条件的检索:Select

DML通常由用户或应用程序员使用,访问经授权的数据库

向表中追加元组

insert into 表名【(列名)【,列名】…】

values(值【,值】,…);

示例:追加学生表中的元组

Insert Into Student

Values(‘08042202’,‘张三’,‘男’,20,‘03’,‘080422’);

Insert Into Student(S#,Sname,Ssex,Sage,D#,Sclass)

Values(‘08042202’,‘张三’,‘男’,20,‘03’,‘080422’);

values后面值的排列,须与into子句后面的列名排列一致

若表名后的所有列名省略,则values后的值的排列,须与该表存储中的列名排列一致

总结

到此这篇关于如何利用SQL语句创建数据库的文章就介绍到这了,更多相关SQL语句创建数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 必须会的SQL语句(一) 创建数据库与删除数据库

    1.创建数据库 Create database 名称 on primary { name ='名称', filename ='c:\xx\名称.mdf', size = 10mb, --数据库的初始大小 filegrowth =1mb, --如果初始大小不够用了,每次增长1mb. maxsize = 20mb --数据库的空间上限,填写unlimited表示无限制 } log on { name='名称_log', filename ="c:\xx\名称_log.ldf" size =

  • 如何利用SQL语句创建数据库详解

    目录 前言 建立数据库 总结 前言 SQL语言是集DDL.DML和DCL于一体的数据库语言 SQL语言主要由以下9个单词引导的操作语句来构成,但每一种语句都能表达复杂的操作请求 DDL语句引导词:Create(建立),Alter(修改),Drop(撤销) 模式的定义和删除,包括定义Database, Table,View,Index,完整性约束条件等,也包括定义对象(RowType行对象,Type列对象) DML语句引导词:Insert,Delete,Update,Select 各种方式的更新与

  • MySQL执行SQL语句的流程详解

    目录 1.通常sql执行流程 1.1 问题1:MySQL谁去处理网络请求? 1.2 问题2:MySQL如何执行sql语句? 1.3 查询解析器 1.4 查询优化器 1.5 存储引擎 1.6 执行器 2.总结 1.通常sql执行流程 用户发起请求到业务服务器,执行sql语句时,先到连接池中获取连接,然后到mysql服务器执行查询. 1.1 问题1:MySQL谁去处理网络请求? msyql服务器谁负责从这个连接中去监听这个网络请求?谁负责从网络连接里把数据读出来? 其实大家都知道,网络连接必须得分配

  • c#如何利用定时器自动备份数据库详解

    目录 引用dll 静态类 定时器启动 备份代码 总结 引用dll mysql.data.dll是MySQL数据库中一款必备的驱动文件,主要用于.net编程和MySQL数据库的连接,包含不同版本的mysql.data.dll,支持32位和64位系统 MySqlBackup快速备份或还原 MySql数据库,原理是使用MySqlBackup.dll 中的备份和还原方法,将数据库的信息转换为对应的sql语句,然后进行处理. MySql.Data.dll MySqlbackup.dll 静态类 新建一个连

  • SQL语句执行顺序详解

    我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,由于SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理. 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入.这些虚拟表对调用者(客户端应用程序或者外部查询)不可用.只是最后一步生成的表才会返回 给调用者.如果没有在查询中指定某一子句,将跳过

  • sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解

    废话不多说了,直接给大家贴代码了,具体代码如下所示: --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL Server,且不能更改分配给它们的权限. --可以在数据库中不存在用户帐户的情况下向固定服务器角色分配登录. --按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述: --1.Bulkadmin:这个服务器角色的成员可以运行BULKINSERT语句.这条语句允许从文本文件中将数据导入到SQL

  • MySQL数据库设计之利用Python操作Schema方法详解

    弓在箭要射出之前,低声对箭说道,"你的自由是我的".Schema如箭,弓似Python,选择Python,是Schema最大的自由.而自由应是一个能使自己变得更好的机会. Schema是什么? 不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据.意味着我们要对用户输入进行严格的验证,web开发时一般输入数据都以JSON形式发送到后端API,API要对输入数据做验证.一般我都是加很多判断,各种if,导致代码很丑陋,能不能有一种方式比较优雅的验证用户数据呢

  • oracle数据库中sql%notfound的用法详解

    SQL%NOTFOUND 是一个布尔值.与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true.否则返回false.这样的语句在实际应用中,是非常有用的.例如要update一行数据时,如果没有找到,就可以作相应操作.如: begin update table_name set salary = 10000 where emp_id = 10; if sql%notfound then insert into

  • Java 利用dom方式读取、创建xml详解及实例代码

    Java 利用dom方式读取.创建xml详解 1.创建一个接口 XmlInterface.Java public interface XmlInterface { /** * 建立XML文档 * @param fileName 文件全路径名称 */ public void createXml(String fileName); /** * 解析XML文档 * @param fileName 文件全路径名称 */ public void parserXml(String fileName); }

  • Android编程之数据库的创建方法详解

    本文实例讲述了Android编程之数据库的创建方法.分享给大家供大家参考,具体如下: 主java package com.itheima.createdatabase; import android.app.Activity; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; public class MainActivity exten

  • MyBatis动态SQL标签的用法详解

    1.MyBatis动态SQL MyBatis 的强大特性之一便是它的动态 SQL,即拼接SQL字符串.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号.利用动态 SQL 这一特性可以彻底摆脱这种痛苦. 通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中. 动态 SQL 元素和

随机推荐