精华内容
下载资源
问答
  • 文章目录2.3.2 创建结构索引(INDEX)聚集索引非聚集索引2.3.3 查看表结构2.3.4 修改结构2.4.1 向表中插入数据2.4.2 修改表中数据常用字符串函数 2.3.2 创建结构 数据库中文件组、文件、表之间关系: 创建...

    2.3.2 创建表结构

    数据库中文件组、文件、表之间的关系:
    在这里插入图片描述
    创建“完整”表的相关工作:

    • (1)确定表名;
    • (2)确定字段基本信息:包括字段名、字段类型、字段长度、是否允许为空值;
    • (3)确定字段附加信息:默认值、标识符、计算列、主键、外键、CHECK约束条件等;
    • (4)确定主件组;
    • (5)确定索引;
    • (6)确定触发器;
    • (7)添加数据。

    方法:

    • 使用SQL Server Management Studio
      • 主外键的设置
      • 标识列(自动增长列)的添加
      • 默认值的添加
      • 计算列的添加
      • 索引的添加
    • 使用SQL的语句

    使用SQL语句

    • 语法:
    create table table_name
    ({column_name datatype
    [not null|null]})
    [on filegroup_name]
    

    标识符的类型选择:

    数据类型 优点 缺点
    整型 简单,存储量少 分布式系统合并表时,内容肯能重复
    GUID 不会重复 复杂(128位的16进制数字标识符),存储量大;不适合建立索引

    默认值的内容:
    1.该数据类型的一个常量。
    2.该数据类型的一个函数:

    数据类型 函数
    日期时间 getdate()
    整型 identity()
    GUID newid()

    计算列持久化的选择:

    持久化 对计算结果进行保存 能否创建索引 查询效率

    (默认)

    (在查询时显示结果,不占用磁盘空间)
    是(占据磁盘空间) 低(如果建立索引,效率比非持久化列高)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    创建数据库和表的标准格式:

    use master   
    go
    create database A
    …………
    go
    use A
    go
    create table B
    …………
    go
    …………
    

    SQL中错误的类型:

    1. 语法错误
    2. 执行过程错误
    3. 执行结果错误
    4. 语法报错,但执行无措

    索引(INDEX)

    • 定义:索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度
    • 内容:索引包含由表或视图中的一列或多列生成的键(键存储在一个B树中)。
    • 分类:
      • 聚集索引
      • 非聚集索引
      • 唯一索引
      • 包含性列索引
    聚集索引

    聚集索引:确定表中数据的物理顺序(存储顺序),根据数据行的键值在表或视图中排序和存储数据行。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序。如果表没有聚集索引,则其数据行存储在一个无序的堆结构中。

    说明:

    1. 检索效率比其他索引高;
    2. 在插入、修改和删除数据时要花费较多的时间(数据和索引都要随之变动);
    3. 在表中建立主键后,系统会在主键字段自动添加聚集索引(也可以在其他字段上建立聚集索引)。
    非聚集索引

    非聚集索引:非聚集索引包含非聚集索引键值(并按内容进行排序,称为逻辑顺序),并且每个键值项都有指向包含该键值的数据行的指针
    说明:

    1. 非聚集索引建立后表中数据的物理顺序不变;
    2. 查询效率不如聚集索引;
    3. 在插入、修改和删除数据时影响较小;
    4. 非聚集索引可以有多个;
    5. 只能手动创建

    聚集索引和非聚集索引的对比⭐

    索引类型 个数 索引对应字段的值 索引对应字段值的顺序 效率 建立方法
    聚集索引 0或1个 可以唯一,也可以不唯一 升序或降序 检索效率较高,更新效率较低 建立主键后自动生成,或手动建立
    非聚集索引 0、1或多个 可以唯一,也可以不唯一 与索引建立前的顺序一致 检索效率较低,更新效率较高 手动建立

    索引使用的技巧和注意事项:

    1. 非索引列在查询时无法使用索引;
    2. 建立索引的列值重复率越低越好;
    3. 在外键所在列上建立索引;
    4. 聚集索引要建立在查询频率最高的列上;
    5. 非聚集索引并不是越多越好;
    6. 建立复合索引时,将查询频率最高的列放于最左边。
    7. 在创建非聚集索引之前,先创建聚集索引;在删除聚集索引之前,先删除非聚集索引;
    8. 索引碎片:
      ①产生原因:表中数据的长期频繁修改;
      ②影响:当索引碎片量过多时,降低查询性能;
      ③解决方法:重建索引(碎片量超过40%时)。

    索引的功能总结:

    • 加快检索(不止是单一的索引项查询,还包括排序、分组、连接等查询)速度;⭐
    • 加快参照完整性的维护速度;
    • 约束索引所在列的数据取值:是否唯一;
    • 改变数据的存储顺序(聚集索引)。

    2.3.3 查看表结构

    ※方法:

    • 使用SQL Server Management Studio
    • 使用SQL语句
      • 语法:sp_helo [表名]

    在这里插入图片描述
    ※修改的风险(表中已经存放数据):

    • 宽度的减少     —— 数据部分丢失
    • 类型的变化     —— 数据整体丢失
    • 字段名的改变 —— 数据不一致、引用的SQL语句需修改
    • 字段的删除     —— 数据丢失、表间关系的破坏
    • 宽度的增加     —— 无风险
    • 字段的增加     —— 无风险
    • 非空→非空     —— 无风险

    ※使用SQL语句

    • 语法:
    alter table table_name
    { {add 列名{列的描述}}
    | {alter column 列名{列的描述}}
    | {drop column 列名}
    }
    

    ※修改对象名
    sp_rename ‘原名’,‘姓名’ [,‘类型’]
    ■ 类型:

    • 和其他对象:省略
    • 数据库:database
    • 列:column
    • 索引:index

    2.3.4 修改表结构

    ※方法:
    ■ 使用SQL Server Management Studio
    ■ 使用SQL语句

    • 语法:drop table table_name
    • 注意:不能删除系统表。

    2.4.1 向表中插入数据

    ※方法:
    ■ 使用SQL Server Management Studio
    ■ 使用SQL语句

    • 语法:
      insert [into] 表名[(列名)]
      values(数据)

    在这里插入图片描述
    注意:

    1. 输入数据的顺序和数据类型必须与表中列的顺序和数据类型一致。
    2. 字符型和日期型数据需要用单引号引起来。
    3. 没有赋值的列必须是可以为空或能自动写入数据的列。
    4. 数据必须满足所在列的约束规则:
      (1)实体完整性规则
      (2)参照完整性规则
      (3)自己定义的完整性规则
    5. 尽量不要添加内容完全相同的行。
      在这里插入图片描述

    2.4.2 修改表中数据

    ※方法:
    ■ 使用SQL Server Management Studio
    ■ 使用SQL语句

    • 语法:
      update 表名
      set 列名1 = 表达式1,列名2 = 表达式2,……
      [where 条件]

    常用字符串函数

    1. 求字符串长度
      len(字符串)
    2. 取子串
      (1)left(目标字符串,长度
      (2)right(目标字符串,长度
      (3)substring(目标字符串,起始位置,长度
    3. 字符串填充
      stuff(目标字符串,起始位置,替换长度,替换字符串
    4. 字符串连接 +
    5. 去除空格
      (1)ltrim(字符串
      (2)rtrim(字符串
      (3)ltrim(rtrim(字符串))
    6. 返回字符串中子串的开始位置
      charindex( 子串,字符串 [,开始查找位置]
    展开全文
  • 文章目录2.2.1数据库的结构系统数据库创建数据库查看数据库信息修改数据库删除数据库 1 1 1 1      2.2.1数据库的结构 数据库存储方式:文件文件组 文件类型: 主数据库文件 次要数据库文件 ...

    2.2.1数据库的结构

    数据库存储方式:文件和文件组

    文件类型:

    • 主数据库文件
    • 次要数据库文件
    • 事务日志文件

    默认存储路径:“X"\program Files\Microsoft SQL Serve\MSSQL.1\MSSQL\Data"

    主数据库文件(PrimaryDatabase File):
             数据库的关键文件,每个数据库都有且只有一个主数据文件。

    • 作用:

      • 存储数据库的启动信息;
      • 存储部分或全部数据;
      • 包含指向数据库中其他文件的指针。
    • 推荐的文件扩展名:mdf

    次要数据库文件(Secondary Database File,也称为辅助文件):可以没有,也可以有多个次要数据文件。

    • 作用:存储主数据文件中未存储的剩余数据和数据库对象。
    • 推荐的文件扩展名:.ndf

    事务日志文件(Log Data File):每个数据库必须有一个或多个日志文件。

    • 作用:存储用来恢复数据库所需的事务日志信息。
    • 推荐的文件扩展名:.ldf

    文件组

    • 定义:命名的文件集合。
    • 作用:方便用户进行数据的管理、分配/放置。
    • 类型
      • 主文件组(有且只有一个)包含主数据文件,以及没有分配给其他文件组的次要数据文件。
      • 用户定义文件组(可以没有,也可以有多个):只能包含次要数据文件。
      • 使用规则:
        (1)一个文件和文件组只能被一个数据库使用;
        (2)一个文件只能属于一个文件组;
        (3)日志文件不能属于文件组。
        在这里插入图片描述

    使用文件组管理分配数据的好处:

    • 使数据库结构清晰
    • 方便用户管理
    • 提升效率

    数据库对象

    • 类型:
      • 表(Table)
      • 视图(View)
      • 存储过程(Stored Procedures)
      • 触发器(Triggers)
      • 用户定义数据类型(User-defined Data Types)
      • 用户自定义函数(User-defined Functions)
      • 索引(Indexes)
      • 约束
    • 表示方法:
      服务器名.数据库名.所有者名.对象名
      serve.database.owner.object
      在这里插入图片描述

    2.2.2系统数据库

    SQL Server 2005 的系统数据库分别是:

    • master数据库

    • model数据库

    • msdb数据库

    • tempdb数据库

    • master数据库

      • 作用:记录SQL Server的所有系统级信息,如果master数据库不可用,SQL Server无法启动。
    • model数据库

      • 作用:所有数据库的模板。可以向model数据库中增加其他数据库对象,这些对象都能被以后创建的数据库所继承。
    • msdb数据库

      • 作用:由SQL Server Agent(SQL Server代理)来计划警报和作业。
    • tempdb数据库

      • 作用:是连接到SQL Server 实例的 所有用户都可用的全局资源,它保存了所有临时表和临时存储过程。

    2.2.3创建数据库

    方法:

    • 使用SQL Server Management Studio
    • 使用SQL语句

    创建“完整”数据库的操作顺序:
    1.给数据库命名并设定数据库的所有者。
    2.定义文件组。
    3.为文件组分配数据文件
    4.创建表并设置表的相关选项、约束规则
    5.将表放入到文件组中
    6.创建其他数据库对象

    一、使用SQL Server Management Studio
    1. 步骤
    (1)给数据库命名
    (2)定义文件组

    • “文件组”选项卡 → “添加”
    • “常规”选项卡 → “文件组” → “新文件组”

    (3)为文件组分配数据文件

    • 数据库文件的配置:
      • 文件名(逻辑名称)
      • 文件类型
      • 文件组
      • 初始大小
      • 自动增长
      • 路径

    2.“选项”选项卡的设置

    • 恢复模式:
      • 简单
      • 完整
      • 大容量日志
    • 兼容级别:SQL Server7.0、2000、2005
    • 自动关闭:指定在上一个用户退出后,数据库是否完全关闭并释放资源。选择后,数据库文件可以像普通文件一样处理(如复制)。
    • 限制访问:指定那些用户可以访问该数据库。可能拥有的值有:
      • Multiple:数据库的正常状态,允许多个用户同时访问该数据库。
      • Single:用于维护操作,一次只允许一个用户访问该数据库。
      • Restricted:只有db_owner、dbcreate或sys admin角色的成员才能使用该数据库。

    3.查看数据库信息
    在这里插入图片描述
    二、使用SQL语句
    1.SQL简介:SQL是1974年由Boyce和Chamberlin提出的,是关系数据库中的标准语言。

    • SQL特点:

      • 功能全面,可以完成数据库中的全部工作。
      • 用户只需提出“做什么”,而不必指明怎么做。SQL语言将用户的要求提交给系统,自动完成全部工作。
      • SQL语言非常简洁、简单,很接近英语自然语言。
      • SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用
      • 尽管在不同环境下SQL的使用方式不同,但SQL语言的语法基本是一致的。
    • SQL主要功能:在这里插入图片描述

    2.创建数据库

    • 语法:
    create database database_name
    [on
    [[primary]<filespec>[,...n]
    [,<filegroup>[,...n]]]
    [log on {<filespec>[,...n]}]
    [collate<collation_name>]
    [for attach]
    
    <filespec>::=
    (name='逻辑文件名',
    filename = '存放数据库的物理路径和文件名'
    [,size = 数据文件的初始大小]
    [,maxsize = 指定文件的最大大小]
    [,filegrowth = 指出文件每次的增量])
    <filegroup>::=
    {
    filegroup filegroup_name[default]
    <filespec>[,...n]
    }
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    对应的结构与代码的一一对应:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.2.4查看数据库信息

    1
    1
    1
    1
        

    1.sp_helpdb[数据库名]

    • 功能:
      • 不指定数据库参数,将显示服务器中所有数据库的信息。
      • 指定具体数据库参数,将显示指定数据库的信息。

    2.sp_databases

    • 功能:
      • 显示服务器中所有可以使用的数据库的信息。

    3.sp_helpfile[逻辑文件名]

    • 功能:查看当前数据库中文件的信息
      • 不指定文件名参数,将显示当前数据库中所有文件的信息。
      • 指定具体文件名参数,将显示数据库中指定文件的信息。

    4.sp_helpfilegroup[文件组名]

    • 功能:
      • 不指定文件组名参数,将显示数据库中所有文件组的信息。
      • 指定具体文件组名参数,将显示数据库中指定文件组的信息。

    2.2.5修改数据库

    方法:

    • 使用SQL Server Management Studio
    • 使用SQL语句

    修改内容:

    • 数据库组成
    • 数据库选项

    ※使用SQL语句

    • (1)修改数据库组成
      语法:
    alter database database_name
    {add file <filespec>[,...n]
    	[to filefoup filegroup_name]  /*在文件组中增加数据文件*/
    | add log file <filespec>[,...n]  /* 增加事务日志文件*/
    | remove file logical_file_name   /*删除数据文件*/
    | add filegroup filegroup_name    /*增加文件组*/
    | remove filegroup filegroup_name /*删除文件组*/
    | modify file <filespec>[,...n]   /*修改文件属性*/
    | modify name = new_dbname        /* 更新数据库名称*/
    
    

    在这里插入图片描述
    在这里插入图片描述

    • (2)修改数据库选项
      方法一:
    alter database database_name
    set database_options[value]
    

    ‘value’:选项值,可以为true、false、on、off。
    在这里插入图片描述
    在这里插入图片描述

    2.2.6删除数据库

    方法:

    • 使用SQL Server Management Studio
    • 使用SQL语句

    语法:drop database database_name[,...n]

    展开全文
  • oracle数据类型 1. varchar2:表示一个字符串 2. NUMBER: (1)number(n):表示一个整数,长度为n (2)number(m,n):表示一个小数,总长度为...创建一个person表 ---创建一个person表 create table person

    oracle的数据类型

     1. varchar2:表示一个字符串
     2. NUMBER:
     	(1)number(n):表示一个整数,长度为n
     	(2)number(m,n):表示一个小数,总长度为m,小数是n,整数时m-n
    3.data:表示日期类:
    4.clob:大对象,表示文本数据类型 可存4G
    5.blob:大对象,表示二进制数据 可存4G(我们平日看的视频一般都是以二进制进行存储的)
    

    创建一个person表

    ---创建一个person表
    create table person(
           pid number(20),
           pname varchar2(10)
    );
    

    增加一列

    --给person表增加一列
    alter table person add gender varchar2(2) ;
    

    修改表的列的数据类型

    alter table person modify gender char(2)
    

    修改表结构-修改数据库表的一列(重命名)

    alter table person rename column gender to sex 
    

    删除一列

    alter table person drop column sex
    
    展开全文
  • MySQL—DDL操作1(创、查、删、改数据库和表) 知识大纲 SQL语句分类(什么是DDL) 操作Database 表结构操作TABLE 学习任务 操作Database 创建数据库 查看有哪些数据库 删除数据库 选择数据库 查看当前...

    MySQL—DDL操作1(创、查、删、改数据库和表)

    知识大纲

    • SQL语句的分类(什么是DDL)

    • 操作Database

    • 表结构操作TABLE

    学习任务

    • 操作Database
      1. 创建数据库
      2. 查看有哪些数据库
      3. 删除数据库
      4. 选择数据库
      5. 查看当前正在使用哪个数据库
    • 表结构操作TABLE
      1. 查看当前数据库所有表
      2. 创建表结构
      3. 查看表结构
      4. 删除表结构
      5. 修改表结构
    • 小练习

    SQL语句分类

    名字 类型 作用的对象 作用
    DDL 英文全称 (Data Definition Language) 数据定义语言 库、表、列 创建、删除、修改、库或表结构,对数据库或表的结构操作
    DQL 英文全称(Data Query Language) 数据查询语言 数据库记录(数据) 查、用来查询数据,对表记录的查询
    DCL 英文全称(Data Control Language) 数据控制语言 数据库用户 用来定义访问的权限和安全级别,对用户的创建,及授权
    DML 英文全称(Data Manipulation Language 数据操作语言 数据库记录(数据) 增、删、改,对表记录进行更新(增、删、改)

    DDL[数据定义语言]

    DDL 用于结构定义、操作方法定义等。

    包括:数据段、数据库、表、列、索引等数据库对象操作。

    主要的语句关键字包括: create drop alter等

    操作Database

    注意:database 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新 库,再删旧库完成的。

    在这里插入图片描述

    1.创建数据库

    create database 数据库名 [charset 字符集]; (关键字大写效果:CREATE DATABASE 数据库名;)

    如果不指定字符集,则按照安装 mysql 服务时选择的默认字符集。例如:

    #创建数据库
    #方式-1:直接创建[采用MySQL默认字符集latin1 -- cp1252 West European]
    CREATE DATABASE mysql03;
    
    #方式-2:创建并指定字符集[utf8 -- UTF-8 Unicode]
    CREATE DATABASE mysql04 CHARACTER SET utf8;
    
    #查看校对规则
    SHOW CHARACTER SET;
    
    #方式-3:创建并指定字符集[utf8]和校对规则[utf8_general_ci]
    CREATE DATABASE mysql05 CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    #创建数据库[若数据库不存在]
    #IF EXISTS[删除表使用过]
    CREATE DATABASE IF NOT EXISTS mysql05;
    

    2.查看有哪些数据库

    show databases;

    提示:当前用户有权限查看的

    #查看有哪些数据库
    SHOW DATABASES;
    

    3.删除数据库

    drop database 数据库名;

    #删除数据库[直接删除]
    DROP DATABASE mysql03;
    
    #删除数据库[判断删除]
    DROP DATABASE IF EXISTS mysql04;
    DROP DATABASE IF EXISTS mysql05;
    

    4.选择数据库

    use 数据库名;

    #定位数据库
    USE mysql01;
    

    5.查看当前正在使用哪个数据库

    select database();

    注意:要操作表格和数据之前必须先说明是对哪个数据库进行操作,否则就要对所有 对象加上“数据库名.”。

    #查看当前正在使用的数据库
    SELECT DATABASE();
    
    #跨数据库查询表数据[数据库名.表名]
    #empinfo[mysql02]
    #SELECT * FROM mysql01.empinfo;
    SELECT * FROM mysql02.empinfo;
    

    表结构操作 TABLE

    1.查看当前数据库所有表

    show tables; #前面必须有 use 数据库名语句,否则报错

    show tables from 数据库名;

    #前往mysql02数据库
    USE mysql02;#SELECT DATABASE() -> mysql02
    #查看当前数据库所有表
    SHOW TABLES;
    
    #查看指定数据库的表内容
    SHOW TABLES FROM mysql01;
    

    2.创建表结构

    (1)基础版

    在这里插入图片描述

    (2)详细版

    在这里插入图片描述
    在这里插入图片描述

    #创建测试数据库test
    DROP DATABASE IF EXISTS test;
    CREATE DATABASE IF NOT EXISTS test CHARACTER SET utf8;
    #定位到test[若没有定位数据库 那么表会被存放到当前数据库中]
    USE test;
    #在test库中创建表Student[简单建表方式]
    CREATE TABLE student
    (
    		stu_id INT,
    		stu_name VARCHAR(20),
    		stu_sex CHAR(2),
    		stu_age INT
    );
    #插入数据
    INSERT INTO student VALUES(1001,'张三','男',16);
    INSERT INTO student VALUES(1002,'李四','女',17);
    #查询信息
    SELECT * FROM student;
    
    #SELECT DATABASE();
    
    
    /*
    建表配置 可选参数:
    ENGINE=INNODB [当前表格的引擎]
    AUTO_INCREMENT=1 [增长的起始值]
    DEFAULT CHARSET=utf8; [表数据的默认字符集]
    */
    #复杂的建表方式
    #创建表emp [要求:定义主键、自增字段、非空约束、默认值]
    DROP TABLE IF EXISTS emp;
    
    CREATE TABLE emp
    (
    		emp_id INT PRIMARY KEY AUTO_INCREMENT,
    		emp_name VARCHAR(20) NOT NULL,
    		emp_sex CHAR(2) DEFAULT '男',
    		emp_age INT NOT NULL
    )ENGINE=INNODB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;
    
    #添加数据测试
    INSERT INTO emp(emp_name,emp_sex,emp_age) VALUES('八戒','男',28);
    INSERT INTO emp(emp_name,emp_sex,emp_age) VALUES('嫦娥','女',18);
    
    #INSERT INTO emp(emp_name,emp_sex) VALUES('梅超风','女');
    INSERT INTO emp(emp_name,emp_age) VALUES('梅超风',38);
    
    #查看所有内容
    SELECT * FROM emp;
    

    3.查看表结构

    desc 表名称;

    查看表的定义:SHOW CREATE TABLE 表名;

    #查看表结构
    DESC emp;
    
    #查看表定义[获得表定的标准SQL代码]
    SHOW CREATE TABLE emp;
    

    4.删除表结构

    drop table 表名称;

    注意:

    数据和结构都被删除

    所有正在运行的相关事务被提交

    所有相关索引被删除

    DROP TABLE 语句不能回滚

    #删除表的 数据
    DELETE FROM emp;
    
    #删除表的 数据和结构
    DROP TABLE IF EXISTS emp;
    
    #SELECT * FROM emp;
    

    5.修改表结构

    (1)重命名表

    alter table 表名 rename 新表名;

    rename table 表名 to 新表名;

    #修改表名 语法-1[emp -> employee]
    ALTER TABLE emp RENAME employee;
    #emp已经被重命名为employee(不存在)
    #SELECT * FROM emp;
    SELECT * FROM employee;
    
    #修改表名 语法-2[employee -> employees]
    RENAME TABLE employee to employees;
    SELECT * FROM employees;
    

    (2)增加一列

    alter table 表名 add 【column】 列名 数据类型; #默认在最后

    alter table 表名 add 【column】 列名 数据类型 after 某一列;

    alter table 表名 add 【column】 列名 数据类型 first;

    注意:**!没有!**alter table 表名 add 【column】 列名 数据类型 before 某一列;

    #修改表 语法-1 新增列[emp_city] [默认添加为表的最后一列]
    ALTER TABLE employees ADD emp_city VARCHAR(20);
    
    #修改表 语法-2 新增列[emp_address] [修饰"first" 使新列成为首列]
    ALTER TABLE employees ADD emp_address VARCHAR(20) FIRST;
    
    #修改表 语法-3 新增列[emp_mail] [修饰"after 列名" 使新列插入在指定的列名后]
    ALTER TABLE employees ADD emp_mail VARCHAR(20) AFTER emp_sex;
    
    #ERROR
    #ALTER TABLE employees ADD emp_xx VARCHAR(20) BEFORE emp_sex;
    

    (3)删除列

    alter table 表名 drop 【column】 列名;

    #删除列 [将刚刚添加的"emp_mail"列删除]
    ALTER TABLE employees DROP COLUMN emp_mail;
    #删除列 [将刚刚添加的"emp_address"列删除]
    ALTER TABLE employees DROP emp_address;
    
    SELECT * FROM employees;
    DESC employees;
    

    (4)修改列类型

    alter table 表名 modify 【column】 列名 数据类型;

    alter table 表名 modify 【column】 列名 数据类型 after 某一列;

    alter table 表名 modify 【column】 列名 数据类型 first;

    #修改列数据类型 语法-1 [emp_name varchar(20) -> varchar(30)]
    ALTER TABLE employees MODIFY emp_name varchar(30);
    #修改列数据类型 语法-1 [emp_age int -> float]
    ALTER TABLE employees MODIFY emp_age float;
    
    #修改列数据类型 语法-2 [使用"after 列名" 在修改类型的同时 移动列的位置到指定列的后方]
    #修改emp_age列的数据类型为int
    ALTER TABLE employees MODIFY emp_age int AFTER emp_name;
    
    #修改列数据类型 语法-3 [使用"first" 在修改类型的同时 移动列的位置到首列]
    ALTER TABLE employees MODIFY emp_age float FIRST;
    

    (5)修改列名等

    alter table 表名 change 【column】 列名 新列名 数据类型

    #修改列的名称 [emp_city -> emp_address]
    ALTER TABLE employees CHANGE emp_city emp_address VARCHAR(50);
    

    练习

    • 题目
    #创建数据库mytest1[简单创建]
    #创建数据库mytest2 指定其编码格式为utf8 查看校对规则 并选择合适的规则
    #查看有哪些数据库
    #若数据库mytest1存在 将其移除
    #定位数据库mytest2
    #查看当前正在使用的数据库是否为mytest2
    #在mytest2中查看其他数据库的表数据
    
    
    #创建学生表
    #[具备以下列:学号(自增字段)、姓名(非空约束)、性别(默认为女)、年龄(非空约束)、地址、电话]
    #[当前表格的引擎为INNODB 增长的起始值为1001 表数据的默认字符集为UTF8]
    
    #进行以下操作:
    #查看表中所有内容
    #查看表结构
    #查看表定义
    
    
    #修改表 修改表名[2种方式]
    #修改表 新增列[city-城市 ...][3种方式]
    #修改表 修改列的数据类型[name varchar2(20) -> varchar2(40) ...][3种方式]
    #修改表 修改列的名[phone-tell]
    #修改表 移除列[address]
    
    #删除表的 数据
    #删除表的 数据和结构
    
    
    • 答案
    #创建数据库mytest1[简单创建]
    CREATE DATABASE mytest1;
    
    #查看校对规则
    SHOW CHARACTER SET;
    
    #创建数据库mytest2 指定其编码格式为utf8 查看校对规则 并选择合适的规则
    CREATE DATABASE mytest2 CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    #查看有哪些数据库
    SHOW DATABASES;
    
    #若数据库mytest1存在 将其移除
    CREATE DATABASE IF EXISTS mytest1;
    
    #定位数据库mytest2
    USE mytest2;
    
    #查看当前正在使用的数据库是否为mytest2
    SELECT DATABASE();
    
    #在mytest2中查看其他数据库的表数据
    SELECT * FROM mysql02.empinfo;
    
    #创建学生表
    #[具备以下列:学号(自增字段)、姓名(非空约束)、性别(默认为女)、年龄(非空约束)、地址、电话]
    #[当前表格的引擎为INNODB 增长的起始值为1001 表数据的默认字符集为UTF8]
    CREATE TABLE student
    (
           id VARCHAR(12) PRIMARY KEY AUTO_INCREMENT,
           name VARCHAR(30) NOT NULL,
           sex CHAR(2) DEFAULT '女',
           age INT NOT NULL,
           address VARCHAR(50),
           phone VARCHAR(11)
    )ENGINE=INNODB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8;
    
    #进行以下操作:
    #查看表中所有内容
    SELECT * FROM student;
    
    #查看表结构
    DESC student;
    
    #查看表定义
    SHOW CREATE TABLE student;
    
    #修改表 修改表名[2种方式]
    ALTER TABLE student RENAME students;
    RENAME TABLE students to student;
    
    #修改表 新增列[city-城市 ...][3种方式]
    ALTER TABLE student ADD city VARCHAR(20);
    ALTER TABLE student ADD column1 VARCHAR(20) FIRST;
    ALTER TABLE student ADD column2 VARCHAR(20) AFTER age;
    
    #修改表 修改列的数据类型[name varchar2(20) -> varchar2(40) ...][3种方式]
    ALTER TABLE student MODIFY name varchar2(40);
    ALTER TABLE student MODIFY column1 varchar2(22) AFTER name;
    ALTER TABLE student MODIFY column2 varchar2(24) FIRST;
    
    #修改表 修改列的名[phone-tell]
    ALTER TABLE student CHANGE phone tell VARCHAR(11);
    
    #修改表 移除列[address]
    ALTER TABLE student DROP address;
    
    #删除表的 数据
    DELETE FROM student;
    
    #删除表的 数据和结构
    DROP TABLE IF EXISTS student;
    
    展开全文
  • #数据库的名字,不能直接改,可以通过其他手段改。 2. 增加字段ADD ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ADD 字段名 数据类型 [完整性约束条件…]; #默认添加的这个字段在表的最后。 ...
  • --这是查看当前使用的数据库的一些信息(主要数据库文件,日志文件) select * from sysfiles; --查看有哪些数据库 select * from master..sysdatabases; --查看一个数据库有哪些表 select * from sysobjects ...
  • 修改数据库结构时不允许保存更改问题 数据库 方法/步骤 1 登录sql2008,找到数据库【news】展开表文件夹 不允许保存更改,阻止保存要求重新创建更改 2 在表上单击右键,选择【设计】 不允许保存更改,阻止保存...
  • 通过该方式,在插件开发过程中,添加和修改字段变成了一件非常轻松事情。只需要修改模块版本号,同时在文件中添加一个符合命名规则脚本就可以了。 假如当前Magento模块是Ruiwant_Rewards,版本号是0.9.0,...
  • 数据库 是一个永久文件,保存数据,按照一定规则(SQL)来进行存储 数据库管理系统 ...2.DML语句:对数据库中表数据进行操作 Insert Update Delete 3.DQL语句:对数据库数据进行查询(简单查...
  • 这里来看看数据库的基本应用--如水果数据库的管理,即创建数据库表,实现水果数据库的管理。具体要求如下: 1、创建水果数据库名称为fruitshop。 2、创建水果表fruit,有字段fid、fname、fprice、ftime。 3...
  • 删除数据库表和数据库的方法。 需要掌握的知识: SQL Server数据库第一课:常用数据库介绍、数据库基本概念了解、登录SQL Server数据库的方法 SQL Server数据库第二课:创建数据库表、完善数据库表的设计、建立...
  • 数据库学习一数据库(一)初识数据库DBMS的种类RDBMS的常见系统结构初识SQLSQL的基本书写规则数据库的创建(CREATE TABLE语句)表的创建(CREATE TABLE 语句)命名规则数据类型的指定约束的设置表的删除更新向...
  • 目录创建修改结构约束constraint 创建表 新建表时,指定表名必须不存在,否则出错。 /** CREATE TABLE [schema.]table (column datatype [DEFAULT expr] , … ); **/ create table student( stu_id number...
  • 第3章 表视图的创建修改 数据库实际上是数据表集合。在关系数据库中,数据库通常包含多个数据表,数据库数据信息都是存储在数据表当中。数据表是对数据进行存储操作一种逻辑结构,对于用户而言,一...
  • 这里所有数据库结构流程图都是在中创建和修改的。 约定 所有结构均以“坚固”为主题 #FEFF00中应突出显示任何“主表” 主键在#00EEFF中突出显示,并带有带外键列表注释。 外键在#007C74中突出显示,并带有...
  • 数据库(Database)是按照数据结构来组织、存储管理数据仓库。 每个数据库都有一个或多个不同 API 用于创建,访问,管理,搜索复制所保存数据。 作用 : 保存,并能安全管理数据(如:增删改查等),减少冗余… ...
  • 02创建数据库和

    2020-11-21 22:34:31
    02创建数据库表 一、创建数据库 credate database 数据库名; 创建数据库时,可以指定字符集字符序 ... 命令:create ... 修改数据库的字符集(已经创建好数据库,需要修改字符集): alter database
  • 本文为转载 原文来自: ...下面是Sql Server Access 操作数据库结构的常用Sql,希望对你有所帮助。 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,696
精华内容 1,078
关键字:

创建和修改数据库的结构