mySQL初学者需要掌握的【数据库与表的基本操作】
本内容会持续更新的哦!
注:“字段”=“列”,"记录’’=“行”文章目录
- 一:数据库的基本操作
- 二.数据表的基本操作
- 1.创建与查看数据表
- 2.修改数据表
- 1、 修改表名
- 2、 修改字段名
- 3.修改字段的数据类型 
- 4、 添加字段
- 5、删除字段 
- 6、修改字段的排列位置 
- 7.删除数据表 
- 三.表的约束
- 四.设置表的字段值自动增加
- 五.索引
一:数据库的基本操作

二.数据表的基本操作
1.创建与查看数据表

2.修改数据表
在 MySQL 中, 修改数据表的操作都是使用 ALTER TABLE 语句。
全部语法:
ALTER TABLE 旧表名 RENAME TO 新表名; //1.修改表名
rename table 旧表名 to 新表名; //1.修改表名
ALTER TABLE 表名 change 旧字段名 新字段名 新数据类型; //2.修改列名
ALTER TABLE 表名 MODIFY 字段名 新数据类型; //3.修改字段的数据类型
ALTER TABLE 表名 ADD 字段名 数据类型 [约束条件][FIRST|AFTER 已存在字段名] ; //4.增加列
ALTER TABLE 表名 DROP 字段名; //5.删除列
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|[AFTER 字段名2]; //6.修改字段的排列位置
DROP TABLE 表名; //7.删除没有关联关系的数据表
ALTER TABLE 表名 CHARACTER SET utf8; //8.修改表的字符集编码
示例:
1、 修改表名
两种方式:
2、 修改字段名
注意:新数据类型不能为空,即使新字段与旧字段的数据类 型相同,也必须将新数据类型设置为与原来一样的数据类型。
3.修改字段的数据类型
4、 添加字段
有两个可选参数:“FIRST"和"AFTER”
"FIRST"即:用于将新添加的字段设置 为表的第一个字段
"AFTER"即:用于将新添加的字段添加到指定的“已存在字段名”的后 面。5、删除字段
6、修改字段的排列位置
7.删除数据表
三.表的约束
为了防止数据表中插入错误的数据,在 MySQL 中,定义了一些维护数据库完整性的规则,即表的约束。
1.主键约束
注意:要保证主键字段里的值非空且唯一
语法:
//添加单字段主键
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20));
//添加多字段主键
CREATE TABLE 表名(
id INT(10),
name VARCHAR(20),
PRIMARY KEY(id,name)
);
//另一种方法添加主键
ALTER TABLE example01 ADD primary key(id) ;
//去除主键
ALTER TABLE example01 DROP primary key;
2.非空约束
语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20) NOT NULL
);
3.唯一约束
语法:
//为字段增加唯一约束方法1
CREATE TABLE 表名(
id INT(10) UNIQUE,
name VARCHAR(20) NOT NULL
);
//为字段增加唯一约束方法2
ALTER TABLE example05 ADD UNIQUE (stu_id);
//去除唯一约束
ALTER TABLE example05 drop index stu_id;
4.默认约束
语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20) ,
position VARCHAR(20) DEFAULT '实习生'
);
四.设置表的字段值自动增加
每次添加记录字段值都会从原来的值上加1,且该字段必须为主键
语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20)
);

五.索引
(1)索引的概念
数据库的索引好比新华字典的音序表,它是对数据库表中一列或多列的值进行排序后的一种结构,其作用就是提高表中数据的查询速度。
索引分类:普通索引 唯一性索引 全文索引 单列索引 多列索引 空间索引
(2)创建索引
一、创建表的时候创建索引
语法: CREATE TABLE 表名( 字段名 数据类型[完整性约束条件], 字段名 数据类型[完整性约束条件], ..... 字段名 数据类型 [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [索引名] (字段名 1 [(长度)]) [ASC|DESC]) );1、创建普通索引
普通索引是可以由 KEY 或 INDEX 定义的索引,它是 MySQL 中的基本索引类型,可以创建在任何数据类型中,其值是否唯一和非空由字段本身的约束条件所决定。
2、创建唯一性索引
唯一性索引是由 UNIQUE 定义的索引,该索引所在字段的值必须是唯一的。
ASC 和 DESC:可选参数,ASC 表示升序排列,DESC 表示降序排列3、创建全文索引
全文索引是由 FULLTEXT 定义的索引,它只能创建在 CHAR、VARCHAR 或 TEXT 类型的字段上, 而且,现在只有 MyISAM 存储引擎支持全文索引。
4、创建单列索引
即:在表中单个字段上创建索引,以上示例皆为单列索引
5、创建多列索引
多列索引指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时, 该索引才会被使用。
6、创建空间索引
空间索引是由 SPATIAL 定义的索引,它只能创建在空间数据类型的字段上。
MySQL中的空间数据类型有 4 种 : GEOMETRY、POINT、LINESTRING 和 POLYGON。
注意: 创建空间索引的 字段,必须将其声明为 NOT NULL,并且空间索引只能在存储引擎为 MyISAM 的表中创建。
二、使用 CREATE INDEX 语句在已经存在的表上创建索引
语法:
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名 (字段名 [(长度)] [ASC|DESC]);


三、使用 ALTER TABLE 语句在已经存在表上创建索引
语法:
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (字段名 [(长度)] [ASC|DESC])
(3)删除索引
1、使用 ALTER TABLE 删除索引
语法:
ALTER TABLE 表名 DROP INDEX 索引名
2、使用 DROP INDEX 删除索引
语法:
DROP INDEX 索引名 ON 表名;
听说看完这篇的同学,都会往下继续学习的哦!
下一篇《mySQL数据操纵》
mySQL初学者需要掌握的【数据库与表的基本操作】的更多相关文章
- 【转】MYSQL入门学习之八:数据库及表的基本操作
转载地址:http://www.2cto.com/database/201212/175867.html 一.操作数据库 www.2cto.com 1.查看数据库 show ...
- MySQL<数据库和表的基本操作>
数据库和表的基本操作 数据库基础知识 创建数据库 就是在数据库系统中划分一块存储数据的空间 CREATE DATABASE itcast; 查看数据库 SHOW CREATE DATABASE 数据库 ...
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- MySQL学习笔记02_数据库和表的基本操作
02_1 操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specifica ...
- Mysql 创建普通用户、数据库、表、插入记录,用户赋权
C:\phpStudy\MySQL\bin>mysql -uroot -proot -h127.0.0.1 //创建用户 mysql> insert into mysql.user (ho ...
- MySQL学习总结(二)数据库以及表的基本操作
上一节中详细的介绍了关于MySQL数据库的安装过程,接下来我们就该对数据库以及表进行一些基本的操作了. 1.数据类型 MySQL数据库中提供了整数类型.浮点数类型.定点数类型.日期和时间类型.字符串类 ...
- MySQL之数据库和表的基本操作(建立表、删除表、向表中添加字段)
介绍关于数据库和表的一些基本操作 添加字段.给字段添加注释 ); ) COMMENT '统一社会信用代码录入单位'; ,) 更改字段类型 ,) COMMENT '一头签收,@0或空不用,1必须'; 有 ...
- MySQL : 数据库和表的基本操作总结
针对database和table的操作大致可分为三类:创建,查询,修改,删除 1. 创建 create ①创建数据库 create database db_name; ②创建表 create tabl ...
- Mac下安装MySQL、Workbench以及建数据库建表最基础操作
刚用上Mac,什么都不懂,加之以前还没有用过mysql,就想着在Mac上装一个mysql来自己玩,奈何,在网上找了大半天,没有一个干货!愤怒!下面是我安装的过程,希望能帮到和我情况差不多的朋友 首 ...
随机推荐
- Elasticsearch 第六篇:聚合统计查询
h2.post_title { background-color: rgba(43, 102, 149, 1); color: rgba(255, 255, 255, 1); font-size: 1 ...
- JNI-Thread中start方法的调用与run方法的回调分析
前言 在java编程中,线程Thread是我们经常使用的类.那么创建一个Thread的本质究竟是什么,本文就此问题作一个探索. 内容主要分为以下几个部分 1.JNI机制的使用 2.Thread创建线程 ...
- 为什么要谨慎使用Arrays.asList、ArrayList的subList?
1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用: List<Integer> statusList = Arrays.asL ...
- 简单了解JSON Web令牌(JWT)
什么是JWT JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,用于作为JSON对象在各方之间安全地传输信息.该信息可以被验证和信任,因为它 ...
- JNI-从jvm源码分析Thread.interrupt的系统级别线程打断原理
前言 在java编程中,我们经常会调用Thread.sleep()方法使得线程停止运行一段时间,而Thread类中也提供了interrupt方法供我们去主动打断一个线程.那么线程挂起和打断的本质究竟是 ...
- SpringBoot中BeanValidation数据校验与优雅处理详解
目录 本篇要点 后端参数校验的必要性 不使用Validator的参数处理逻辑 Validator框架提供的便利 SpringBoot自动配置ValidationAutoConfiguration Va ...
- python之《set》
set 是python里面的集合的概念 list_1 = [1,2,3,4,5,6,] list_2 = set(list_1) print(list_1,type(list_1)) print(li ...
- fio测试ceph的filestore
前言 fio是一个适应性非常强的软件,基本上能够模拟所有的IO请求,是目前最全面的一款测试软件,之前在看德国电信的一篇分享的时候,里面就提到了,如果需要测试存储性能,尽量只用一款软件,这样从上层测试到 ...
- 廖师兄springboot微信点餐开发中相关注解使用解释
package com.imooc.dataobject;import lombok.Data;import org.hibernate.annotations.DynamicUpdate;impor ...
- DockerPush
1.阿里云镜像发布流程 2.镜像生成 语法:docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]] [root@pluto data]# docker imag ...
















