数据库定义语言(DDL):用于对数据库及数据库中的各种对象进行创建,删除,修改等操作

(1)create:用于创建数据库或数据库对象

(2)alter:用于对数据库或数据库对象进行修改

(3)drop:用于删除数据库或数据库对象

1.创建数据库

在MySQL中可以使用 create database 或 create schema语句创建数据库

create  database 或 schema [ if not exists ]  数据库名

if not exists :如果不存在

create database testsql

2.选择数据库

在MySQL中,使用  use  语句可以实现从一个数据库跳转到另一个数据库

use 数据库名

3.修改数据库

在MySQL中,可以使用  alterdatabase 或 alter schema 来修改已被创建的数据库相关参数

alter  database|schema 数据库名

4.删除数据库

在MySQL中,当需要删除已创建的数据库时,可使用 drop database 或 drop schema

drop database|schema [ if exists]数据库名

5.查看数据库

在MySQL中,可使用 show databases 或 show schema语句查看可用数据库

show database|schema

二,表

1,创建表

用 create table 语句创建表

语句基本格式

create table 表名

字段名1 数据类型  [列级完整性约束条件] [默认值],

字段名2 数据类型  [列级完整性约束条件] [默认值],

.........

[表级完整性约束条件]

(1)临时表和持久表

create temporary table :创建的是临时表并且临时表的生命周期短,而且只对创建它的用户可见,当断开与该数据库的连接时,MySQL会自动删除它们。

如果没有 temporary创建的是持久表,持久表一旦创建,则一直存在。

(2)数据类型

数据类型指系统中所允许的数据的类型

(3)关键字 auto_increment

使用关键字 auto_increment 可以为表中数据类型为  整型 的列 设置自增属性,每个表中只能有一个 auto_increment列并且它必须被索引。

另外,当一个表列被指定为 auto_increment 后,其值是可以被覆盖的,即可以简单地在表数据插入语句(insert) 中为该列指定一个值,

只要该值是唯一的(尚未使用的),那么这个值将被用来替代系统自动生成的值,并且后续的增量将基于该手工插入的值。

(4)指定默认值

默认值指在向表插入数据时,如果没有明确给出某个列对应的值,则 DBMS   允许为此表列指定一个值,使用 default 来指定

(5)null 值

null 值是指没有值或缺值,

null 为默认设置,如果不指定 not null ,则认为指定的是 null

(6)主键

主键是通过 primary key 来指定。主键值必须是唯一,而且主键一定要为 not null

2,更新表

在MySQL中可以使用 alter table 语句来更改原有表的结构

(1)add [column]子句

如果需要向表中增加新列,可在 alter table 语句中 添加 add [column] 子句来实现,且其可同时向表中增加多个列

例子中通过关键字 ‘after’在原表 sex 之后添加一个新列,也可以通过关键字 first 将新列作为原表的第一列,若不指定这两个关键字,则新列会添加到原表的最后

类似的可以在 alter table 语句中通过使用 addprimary key 子句,add foreign key子句,add index 子句为原表添加一个主键,外键和索引

(2)change [column]子句

如若需要修改表中列的名称或数据类型,可在 alter table 语句中添加 change [column]子句。

change [column]子句可同时修改表中指定列的名称和数据类型,且在 alter table中可以同时放入多个 change[column] 子句只需要用逗号分隔

需要注意的是:如果将原有的数据类型更换成另外一种类型,可能会丢失该列原有的数据,

如果试图改变的数据类型与原有数据类型不兼容,SQL命令不会被执行,在兼容的情况下数据可能被截断

(3)alter [column]子句

如若需要修改或删除表中指定列的默认值,则可在 alter table中 添加 alter [column]子句

(4)modify [column]

modify [column]子句只会修改指定列的数据类型,另外还可以通过关键字 first 或 after 修改指定列在表中的位置

(5)drop [column]

在 alter table 语句中添加 drop [column]子句来完成删除多余列的操作

一旦删除列,原本存储在该列中的一切内容都会跟着被删除

(6)rename [to]子句

在 alter table 语句中,可以添加 rename [to] 子句为表重新赋予一个表名

3,重命名表

可以直接使用 rename table 语句来更改表的名字,并可同时重命名多个表

rename table 旧表名 to 新表名

4,删除表

如果删除一个已经存在的表,可以通过使用 drop table 语句来实现

drop table [if exists] 表名

drop table语句可以同时删除多个表(包括临时表),但是操作者必须拥有该命令的权限;

当表被删除时,其中存储的数据和分区信息均会被删除

5,查看表

(1)显示表的名称

可以使用 show tables 语句来显示指定数据库中存放的所有表名

show [full] tables [{from|in} db_name]

(2)显示表的结构

show columns from 表名

可以使用 desc 或者 describe 作为show columns from的一种快捷方式

SQL数据库的操作,表的操作的更多相关文章

  1. MySQL/MariaDB数据库的多表查询操作

    MySQL/MariaDB数据库的多表查询操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.单表查询小试牛刀 [root@node105.yinzhengjie.org.cn ...

  2. mysql导入导出sql文件(包括数据库和数据表的操作)

    废话不多说直接开始. 在windows命令行下登录mysql,创建一个test_01数据库,创建一个user表,并插入一条数据,如下 一.导出数据库test_01 1.退出数据库,在命令行中输入 my ...

  3. MYSQL数据库学习五 表的操作和约束

    5.1 表的基本概念 表示包含数据库中所有数据的数据库对象.一行代表唯一的记录,一列代表记录的一个字段. 列(Columns):属性列,创建表时必须指定列名和数据类型. 索引(Indexes):根据指 ...

  4. ORACLE数据导入导出后新数据库中某些表添加操作报错[ORA-12899]

    由于项目需要,我在搭建了新的开发环境后,需要将之前环境中的ORACLE数据库导出,再导入到新的开发环境下.当导出导入完成后,使用数据库进行添加操作时 发现针对很多表的添加操作报错,具体报错原因描述为: ...

  5. socketserver模块、MySQL(数据库、数据表的操作)

    一.socketserver实现并发 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环. socketserver模块中分两大类:server类(解决链接问题)和request类(解决 ...

  6. Mysql数据库 的库表简易操作

    一. 库的操作 1.创建数据库 创建数据库: create database 库名 charset utf8;   charset uft8  可选项 1.2 数据库命名规范: 可以由字母.数字.下划 ...

  7. SQL Server 的数据表简单操作

    --创建数据表--[use 要创建数据表的数据库名称go]create table 要创建的表名(字段名 数据类型[长度] [null | not null] [primary key],... .. ...

  8. python 全栈开发,Day61(库的操作,表的操作,数据类型,数据类型(2),完整性约束)

    昨日内容回顾 一.回顾 定义:mysql就是一个基于socket编写的C / S架构的软件 包含: ---服务端软件 - socket服务端 - 本地文件操作 - 解析指令(mysql语句) ---客 ...

  9. 库的操作&表的操作

    一 库的操作 掌握库的增删改查 一.系统数据库 执行如下命令,查看系统库 show databases; information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数 ...

  10. mysql更新(三)语句 库的操作 表的操作

    04-初始mysql语句   本节课先对mysql的基本语法初体验. 操作文件夹(库) 增 create database db1 charset utf8; 查 # 查看当前创建的数据库 show ...

随机推荐

  1. Redis实现排行榜功能(实战)

    需求前段时间,做了一个世界杯竞猜积分排行榜.对世界杯64场球赛胜负平进行猜测,猜对+1分,错误+0分,一人一场只能猜一次.1.展示前一百名列表.2.展示个人排名(如:张三,您当前的排名106579). ...

  2. 怎样解决canvas 插件 和html 页面中的事件冲突问题 ?

    很简单 ,在html 执行事件所在的div中 设置 position:relative;    

  3. AQS学习笔记之独占锁

    作用 参与 共享锁 acquireShared() 和 独占锁 acquire() 的抢锁逻辑, 具体的抢锁逻辑不作实现,只对第一次抢锁未抢到锁线程做处理,第一次抢锁就抢到的线程就不需要遇到AQS了 ...

  4. 2018-2019-2 20175306实验二面向对象程序设计《Java开发环境的熟悉》实验报告

    2018-2019-2 20175306实验二面向对象程序设计<Java开发环境的熟悉>实验报告 面向对象程序设计-1 实验要求: 参考:> http://www.cnblogs.c ...

  5. P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm

    对于一个牛,它存在两种状态:1.处于联通分量 2.不处于联通分量.对于处于联通分量的牛,求出联通分量的大小:对于不处于联通分量的牛,求出其距离联通分量的路程+联通分量大小. 不同的联通分量,染上不同的 ...

  6. java实现二叉树的建立以及实现二叉查找树的查、插、删、遍历

    一.采用存储结构 1.顺序存储:采用数组,顺序存储适配于完全二叉树,对于非完全二叉树并不合适,主要体现在空间上的浪费,所以我们需要用到另一种存储方式——链式存储. 2.链式存储:数据data用键值对的 ...

  7. 某喷码机品牌U盘存储的配置文件简记

    U盘下的 KadexMicro 文件夹是喷码机生成的. 其配置文件存储在如上图位置,后缀 .mjt 实为 xml 文件. 内容如: <?xml version="1.0" e ...

  8. computed计算属性

    在computed中,可以定义一些属性,这些属性 叫做计算属性.计算属性的本质是一个方法,只不过我们在使用的时候,把他们的名称当做属性来使用,并不会吧计算属性当做方法去调用.与methods平级. / ...

  9. FHQ-Treap小结

    \(Orz\) 范浩强大爷,竟然搞出了如此夺天地造化的数据结构. \(FHQ-Treap\),又名非旋\(Treap\),是范浩强大爷在某些奇特的灵感之下发明的一种平衡树,因其与\(Treap\)相似 ...

  10. 高可用Redis(十):Redis原生命令搭建集群

    1.搭建Redis Cluster主要步骤 1.配置开启节点 2.meet 3.指派槽 4.主从关系分配 2.环境说明 两台虚拟机,IP地址分别为:192.168.81.100和192.168.81. ...