表操作

表与字段是密不可分的.

新增数据表

Create table [if not exists] 表名(字段名字 数据类型,字段名字 数据类型 --最后一行不需要逗号) [表选项] ;

if not exists: 如果表明不存在,那么就创建,否则不执行创建代码:检查功能
表选项:控制表的表现
字符集:charset/character set 具体字符集; -- 保证表中数据存储的字符集
校对集:collate 具体校对集;
存储引擎:engine 具体的存储引擎(innodb 和 myisam)

任何一个表的设计都必须指定数据库.
方案1:显示的指定表所属的数据库
Create table 数据库名.表名(); -- 将当前数据表创建到指定的数据库下

方案2:隐式的指定表所属数据库:先计入到某个数据库环境,然后这样创建的表自动归属到某个指定的数据库.
进入数据库环境:use 数据库名字;

当创建数据表的SQL指令执行之后,到底发生了什么?
1. 指定数据库下已经存在对应的表
2. 在数据库对应的文件夹下,会产生对应表的结构文件(跟存储引擎有关系)

查看数据表

数据库能查看的方式,表都可以查看.
1. 查看所有表:show tables ;

2. 查看部分表:模糊匹配:show tables like 'patten' ;

3. 查看表的创建语句 : show create table 表名 ;

4. 查看表结构:查看表中的字段信息
desc/describe/show columns 表名 ;

修改数据表

表本身存在,还包含字段:表的修改分为两个部分:修改表本身和修改字段

修改表本身
表本身可以修改:表名 和 表选项
修改表名:rename table 老表名 to 新表名 ;

修改表选项:字符集,校对集和存储引擎
alter table 表名 表选项 [=] 值 ;

修改字段
字段操作很多:新增,修改,重名 ,删除

新增字段
alter table 表名 add [column] 字段名 数据类型 [列属性] [位置]
位置:字段名可以存放表中的任意位置
first:第一个位置
after:在哪个字段之后:after 字段名;默认的是在最后一个字段之后

修改字段 : 修改通常是修改属性或者数据类型
alter table 表名 modify 字段名 数据类型 [属性] [位置] ;

重命名字段
alter table 表名 change 旧字段名 新字段名 数据类型 [属性] [位置] ;

删除字段
alter table 表名 drop 字段名;

小心:如果表中已经存在数据,那么删除字段会清空该字段的所有数据(不可逆)

删除数据表

Drop table 表名1,表名2....; -- 可以一次性删除多张表

当删除数据表的指令之后发生了什么?
1. 在表空间中,没有了指定的表(数据也没有了)
2. 在数据对应的文件夹下,表对应的文件(与存储引擎有关)也会被删除

SQL--数据表--基本操作的更多相关文章

  1. MySQL:数据表基本操作

    数据表基本操作 注意点: 1.数据表中已经有数据时,轻易修改数据类型,有可能因为不同的数据类型的数据在机器 中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据类型. 2.  数据表 ...

  2. asp.net 查询sql数据表的网页模板

    最近因为工作需求,要制作一个网页模板,主要是用于快速开发,可以查询Sql数据表信息的模板, 昨天做好了,这个只是一个Demo,但是功能已经齐全了, 开发新的网站时,需要新增一个xml,复制粘贴网页的前 ...

  3. MySQL系列:数据表基本操作(2)

    1. 指定数据库 mysql> use portal; 2. 数据库表基本操作 2.1 查看数据表 mysql> show tables; +------------------+ | T ...

  4. 关于SQL 数据表中的密码加密

    首先,都知道一个字节(byte)等于八位二进制数.在数据表中将密码字段设置为binary类型,再结合哈希散列运算可以实现密码加密. 下面介绍下binary 和 varbinary: binary 和  ...

  5. MySQL 5.6学习笔记(数据表基本操作)

    1. 创建数据表 1.1 最基本的语法 CREATE TABLE tbl_name (col_name column_definition,...) [table_options] -column_d ...

  6. MySQL学习(一) 数据表基本操作

    创建数据库:create database db_name 查看数据库结构:show create database db_name 删除数据库:drop database db_name 查看数据库 ...

  7. mysql学习——数据表基本操作1

    选择数据库 创建数据表 包括字段名和数据类型两部分 查看数据表 使用主键约束 主键又称主码,能够唯一的表示表中的一条记录,分为单字段主键与多字段联合主键 单字段主键 定义主键的两种方式: 1.在最后指 ...

  8. sql数据表的设计思路

    好的表结构分的比较细致,个人理解大概主要分为主表.明细.历史记录表.中间表,辅助表结构应该分为:类型表.状态表.统计表.统计明细表等.为了一个功能加那么多表实在是多余,如果写一个非常复杂的业务逻辑还是 ...

  9. 查找SQL数据表或视图中的字段属性信息

    一.只支持表,非常牛逼的 SELECT a.name,(case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name F ...

  10. qt: 获取sql数据表的所有的字段;

    1. mysql 数据库: 转载: https://www.cnblogs.com/fuqia/p/8994080.html mysql安装成功后可以看到已经存在mysql.information_s ...

随机推荐

  1. ubuntu+anaconda

    1.下载anaconda 查看ubuntu是32位还是64位 命令: uname -m 如果显示i686,你安装了32位操作系统 如果显示 x86_64,你安装了64位操作系统 uname -a 查看 ...

  2. git 基础知识

    git 分布式版本控制系统 git三棵树: 工作目录 红色 等待添加到暂存区域 需执行git add filename 命令添加到暂存区 暂存区域 绿色 文件等待被提交 需执行 git commit ...

  3. 树莓派 CSI摄像头 No data received from sensor. Check all connections, including the Sunny one on the camera board

    不知道为什么摄像头在包里放了两天旧坏了,中间完全没用过摄像头的功能,查了资料,原因大概有两种 1)sunny烧了 2)试摄像头传感器坏了 这两天没有插拔过摄像头,可能是树莓派漏电了,也可能是它被压坏了 ...

  4. Spring中添加新的配置表,并对新的配置表进行处理

    实习过程中boss交代的任务(以下出现的代码以及数据只给出小部分,提供一个思路) 目的:Spring中添加新的配置表,并对新的配置表进行处理:替换的新的配置表要友好,同时保证替换前后功能不能发生变化. ...

  5. 初次安装git配置用户名和邮箱

    初次安装git配置用户名和邮箱 初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git con ...

  6. MySQL共享表空间概念

    1.表空间概念 Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间.共享表空间以及独立表空间都是针对数据的存储方式而言的. 共享表空间 ...

  7. PostgreSQL主备流复制机制

    原文出处 http://mysql.taobao.org/monthly/2015/10/04/ PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在 ...

  8. Spring @Scheduled @Async联合实现调度任务(2017.11.28更新)

    定时任务之前一直用的是quartz之类,但是注意到Spring中其实也提供了一种简单的调度注释@Scheduled,也就想尝一下鲜.. 代码示意如下: @Component @EnableSchedu ...

  9. 【Oracle安装卸载】oracle卸载

    Oracle卸载比较麻烦,不能简单卸载就完成了,有时没有卸载完整,下次安装不能很好的安装: 当然Oracle卸载也没有那么难,只是步骤比较多.Oracle10g还是Oracle11g卸载步骤都是一样的 ...

  10. shell script auto generate the relevant header information

    first : add follow context in   /etc/vim/vimrc set ignorecaseset cursorlineset autoindentautocmd Buf ...