2019-10-4数据库和表的基本操作

数据库—>数据表—>字段

一、数据库和表的基本操作

1、创建和查看数据库

①创建数据库

CREATE DATABASE 数据库名称;

实例:创建一个名称为itcast的数据库

CREATE DATABASE itcast;

②查看已经存在的数据库

SHOW DATABASES;

③查看某个已经创建的数据库信息

SHOW CREATE DATABASE 数据库名称;

实例:查看已经存在的数据库信息

SHOW CREATE DATABASE itcase;

2、修改数据库

①修改数据库编码

ALTER DATABASE 数据库名称 DEFAULT CHARACTER 编码方式 COLLATE 编码方式_bin;

实例:将数据库itcast的编码方式修改为gbk

ALTER DATABASE itcast DEFAULT CHARACTER SET gbk COLLATE gbk_bin;

3、删除数据库

①删除数据库

DROP DATABASE 数据库名称;

实例:删除名称为itcast的数据库

DROP DATABASE itcast;

4、创建数据表

①创建数据表

CREATE TABLE 表名;
(字段名 1,数据类型[完整性约束条件],字段名 2,数据类型[完整性约束条件],...字段名 n,数据类型[完整性约束条件],
)

实例:创建一个用于存储学生成绩的表tb_grade

字段名称 数据类型 备注说明
id INT 学生的编号
name VARCHAR(20) 学生的姓名
grade FLOAT 学生的成绩

首先需要创建一个数据库

CREATE DATABASE itcast;

选择创建表的数据库

USE itcast;

创建数据表

CREATE TABLE tb_grade
(id INT(11),name VARCHAR(20),grade FLOAT
);

验证数据表是否创建成功

SHOW TABLES;

5、查看数据表

②使用SHOW CREATE TABLE查看数据表

SHOW CREATE TABLE 表名;

实例:使用SHOW CREATE TABLE查看tb_grade表

SHOW CREATE TABLE tb_grade;
//或者
SHOW CREATE TABLE tb_grade\G;

②使用DESCRIBE语句查看数据表

DESCRIBE 表名;
//或者简写为
DESC 表名;

实例:使用DESCRIBE查看数据表

DESCRIBE tb_grade;

6、修改数据表

①修改表名

ALTER TABLE 旧表名 RENAME [TO] 新表名;//TO是可选的,在SQL语句中是否出现不影响语句的执行

实例:将数据库itcast中的tb_grade表名改为grade
修改数据库的表名之前,首先使用SHOW TABLES语句查看数据库中所有表

SHOW TABLES;

开始修改表名

ALTER TABLE tb_garde RENAME TO grade;

检查表名是否修改正确

SHOW TABLES;

②修改字段名

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

实例:将数据表grade中的name字段改为username,数据类型保持不变

ALTER TABLE grade CHANGE name username VARCHAR(20);

验证修改是否成功

DESC grade;

③修改字段的数据类型

ALTER TABLE 表名 MODIFY 字段名 数据类型;

实例:将id字段的数据类型由INT(11)修改为INT(20)
修改之前,先查看数据表的结构

DESC grade;

修改操作

ALTER TABLE garde MODIFY id INT(20);

验证修改成功

DESC grade;

④添加字段

ALTER TABLE 表名 ADD 新字段名 数据类型
[约束条件][FIRST|AFTER 已存在字段名]

实例:在数据表grade中添加一个没有约束条件的INT类型的字段age

ALTER TABLE grade ADD age INT(10);

⑤删除字段

ALTER TABLE 表名 DROP 字段名;

实例:删除grade表中的age字段

ALTER TABLE grade DROP age;

⑥修改字段的排列位置

ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2;

实例:将grade的username字段修改为表的第一个字段

ALTER TABLE grade MODIFY username VARCHAR(20) FIRST;

实例:将数据表grade的id字段插入到grade字段后面

ALTER TABLE grade MODIFY id INT(20) AFTER grade;

7、删除数据表
①删除没有被其他表关联的数据表

DROP TABLE 表名;

实例:删除数据表grade

DROP TABLE grade;

二、数据类型
1、整数类型

数据类型 字节数
TINYINT 1
SMALLINT 2
MEDIUMINT 3
INT 4
BIGINT 8

2、浮点数和定点数类型

数据类型 字节数
FLOAT 4
DOUBLE 8
DECIMAL(M,D) M+2,其中M表示数据的长度,D表示小数点后的长度

3、日期与时间类型

数据类型 字节数
YEAR 1
DATE 4
TIME 3
DATETIME 8
TIMESTAMP 4

4、字符串和二进制类型

数据类型 类型说明
CHAR 表示固定长度的字符串
VARCHAR 表示可变长度的字符串
BINARY 表示固定长度的二进制数据
VARBINARY 表示可变长度的二进制数据
BOLB 表示二进制大数据
TEXT 表示大文本数据
ENUM 表示枚举类型,只能存储一个枚举字符串值
SET 表示字符串对象,可以有零或多个值
BIT 表示字段类型

①CHAR和VARCHAR类型
定义CHAR和VARCHAR

CHAR(M)或VARCHAR(M)
//M指字符串的最大长度
插入值 CHAR(4) 存储需求 VARCHAR(4) 存储需求
‘’ ‘’ 4字节 ‘’ 1字节
‘ab’ ‘ab’ 4字节 ‘ab’ 3字节
‘abc’ ‘abc’ 4字节 ‘abc’ 4字节
‘abcd’ ‘adcd’ 4字节 ‘abcd’ 5字节
‘abcdef’ ‘abcd’ 4字节 ‘abcd’ 5字节

CHAR(4)时,不管插入值的长度是多少,所占用的存储空间都是4字节。而VARCHAR(4)所对应数据所占用的字节数为实际长度加1。

②BINARY和VARBINARY
定义

BINARY(M)或VARBINARY(M)
//M指的是二进制数据的最大字节长度

需要注意的是,BINARY类型的长度是固定的,如果数据长度不足最大长度,将在数据后面用’\0’补齐,达到最终长度。例如BINARY(3),当插入a时,实际存储的数据为’a\0\0’

③TEXT类型
用于表示大文本数据,例如文章内容、评论等
④BLOB类型
一种特殊二进制类型,用于表示数据量很大的二进制数据,例如图片、PDF文档等
⑤ENUM类型
定义

ENUM('值1','值2','值3','值4'...'值n')
//枚举列表

ENUM类型的数据只能从枚举列表中取,并且只能取一个。注意,枚举列表中的每一个值都有一个顺序编号,MySQL中存入的就是这个顺序编号,而不是列表中的值

⑥SET类型
用于表示字符串对象,它的值可以有零个或多个

SET('值1','值2','值3','值4'..'值n')

与ENUM相似,同上

⑦BIT类型
表示二进制数据

BIT(M)

三、表的约束
表的约束:防止数据表中插入错误数据,定义维护数据库完整性的规则

约束条件 说明
PRIMARY KEY 主键约束
FOREIGN 外键约束
NOT NULL 非空约束
UNIQUE 唯一性约束
DEFAULT 默认值约束,用于设置字段默认值

1、主键约束(PRIMARY KEY)
主键设置:快速查找表中某条信息
①单字段主键:由一个字段构成的主键
定义

字段名 数据类型 PRIMARY KEY

实例:创建一个数据表example01,并设置id作为主键

CREATE TABLE example01(id INT PRIMARY KEY,name VARCHAR(20),grade FLOAT );

②多字段主键
定义

PRIMARY KEY(字段名1,字段名2,字段名3,..,字段名n)
//"字段名1,字段名2,字段名3,..,字段名n"指的是构成主键的多个字段的名称

实例:创建一个数据表example02,在表中将stu_id和course_id两个字段共同作为主键

CREATE TABLE example02(stu_id INT,course_id INT,grade FLOAT,PRIMARY KEY(stu_id,course_id));

注:每个数据表中最多只能有一个主键约束,定义为PRIMARY KEY的字段不能有重复值且不能为NULL值

2、非空约束(NOT NULL)
非空约束:指字段的值不能为NULL
定义

字段名 数据类型 NOT NULL;

实例:创建一个数据表example04,将表中的name字段设置为非空约束

CREATE TABLE example04(id INT PRIMARY KEY,name VARCHAR(20) NOT NULL,grade FLOAT);

注意:在同一个数据表中,可以定义多个非空字段

3、唯一约束(UNIQUE)
唯一约束:保证数据表中字段的唯一性,即表中字段的值不能重复出现
定义

字段名 数据类型 UNIQUE;

实例:创建一个数据表example05,将表中stu_id设置为唯一约束

CREATE TABLE example05(id INT PRIMARY KEY,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);

4、默认约束(DEFAULT)
默认约束:用于数据表中的字段指定默认值,即当在表中插入一条新记录时,如果没有给这个字段赋值那么数据库系统会自动认为这个字段插入默认值

字段名 数据类型 DEFAULT 默认值;

实例:创建一个数据表example06,将表中grade字段的默认值设置为0

CREATE TABLE example06(id INT PRIMARY KEY AUTO_INTCREMENT,stu_id INT UNIQUE,grade FLOAT DEFAULT 0);

数据库和表的基本操作相关推荐

  1. 数据库和表的基本操作-----查看数据表

    数据库和表的基本操作-----查看数据表

  2. 数据库以及表的基本操作

    一.数据库的操作 create database[if not exists]数据库名; 创建一个名字为company2的使用utf8忽略大小写的数据库 create database company ...

  3. MYSQL——《数据库》实验壹——熟悉数据库管理工具、数据库和表的基本操作

    一.实验目的: 了解SQL Server或MYSQL数据库的基本知识: 熟悉SQL Server或MYSQL环境和系统结构: 掌握图形化交互工具的基本操作,学会数据库及表的创建与管理: 理解和掌握SQ ...

  4. MySQL学习_数据库和表的基本操作

    目录 1 创建和查看数据库 1.1 创建数据库 1.2 查看数据库 1.3 修改数据库 1.4 删除数据库 2 数据类型 2.1 整数类型 2.2 日期数据类型 2.3 字符串数据类型 3表的基本操作 ...

  5. 27.大数据---Hive的数据库和表的基本操作;脚本化运行;内部表;外部表;分区表

    一 . Hive 基本操作 1. 数据库操作(增.删.改.查) 1.1 创建数据库 create database if not exists test_001; 使用数据库 use test_001 ...

  6. mysql数据库操作宠物表_mysql数据库及表的基本操作

    1. 数据库操作 1.1 创建数据库 # 创建数据库 mysql> create database db_test; # 查看创建好的数据库 mysql> show create data ...

  7. (数据库存储应用)S2数据库和表的基本操作

    一.数据库的基础知识 操作数据库 推荐关键字大写 变量小写 查看库 show databases; 2. 创建数据库 create database [if not exists(提前检查是否存在)] ...

  8. 第二章 数据库和表的基本操作

    1;数据类型 2: 使用MySQL数据库储存数据时,不同的数据类型绝对了MySQL的储存数据方式的不同 3:每种数据类型中各类型也有区别 一整数类型 (1)TINYINT 1 字节. (2)TNI 4 ...

  9. mysql truncate很慢_mysql数据库truncate表时间长处理

    [环境介绍] 系统环境:Linux + mysql 5.7.18 + 主从复制架构 [背景描述] 客户反映用在mysql数据库上truncate一个innode引擎的list分区100G左右表时,耗时 ...

最新文章

  1. 回归评价指标MSE、RMSE、MAE、R-Squared
  2. Android提示版本号更新操作流程
  3. 算法题题目集合一,欢迎评论留言
  4. 机器学习(三十四)——策略梯度
  5. Java中HashMap遍历的两种方式
  6. dnn神经网络_机器学习-浅谈神经网络和Keras的应用
  7. BOM -- browser object model
  8. 纵观2010年的ng2b
  9. 自适应网页设计/响应式Web设计 (Responsive Web Design)
  10. 各种【icon】矢量图
  11. paip.Log4j配置不起作用的解决
  12. sqlite3:sqlite3_column 函数
  13. Sitemesh小记
  14. js[中英文排序-获取中文拼音]
  15. 知言:《第一行代码》作者郭霖:不要成为工具的奴隶
  16. C++将一个无效参数传递给了将无效参数视为严重错误的函数
  17. 苹果6s连上wifi上不了网络连接服务器未响应,6s连不上网了怎么解决
  18. LintCode 183.木材加工
  19. 【第1111期】Subresource Integrity 介绍
  20. unreal无损音乐百度云_嵐-IN THE SUMMER

热门文章

  1. 树莓派蓝牙连接就断开
  2. 活着,我们都想要别人的理解
  3. 用示波器调出李萨如图形
  4. Imperva incapsula逆向分析
  5. 《大西洋月刊》2014-2020年电子版合集| The Atlantic
  6. word中添加背景色
  7. Bug复现辅助神器-EV录屏
  8. 云服务器上手是多么的简单?你看了就知道了
  9. php 判断是否汉字
  10. android studio 安装教程