02数据库表的相关操作
数据库表的创建
create database test;
drop database xuda;
show databases;
创建数据表,并插入数据
USE test;
create table student(id INT UNSIGNED PRIMARY KEY,name VARCHAR(20) NOT NULL,sex CHAR(1) NOT NULL,birthday DATE NOT NULL,tel CHAR(11) NOT NULL,remark VARCHAR(200));
INSERT INTO student VALUES(1,"李强","男","1995-05-15","18392513420",NULL); show tables;
DESC student;
SHOW CREATE TABLE student;
DROP TABLE student;
使用float无法精确存储小数
CREATE TABLE temp(
id INT UNSIGNED PRIMARY KEY,
num FLOAT(20,10)
);
可以使用DECIMAL,这样不会丢失精度
DROP TABLE temp;
CREATE TABLE temp(
id INT UNSIGNED PRIMARY KEY,
num DECIMAL(20,10)
);
数据类型
CHAR (1-255)固定字符长度
VARCHAR (1-65535)不固定长度字符串[一般用这个就可以]
TXT 不确定长度字符串
MEDIUMTEXT 不确定长度字符串
日期类型
类型 | 大小 | 说明 |
---|---|---|
DATE | 3字节 | 日期 |
TIME | 3字节 | 时间 |
YEAR | 1字节 | 年份 |
DATETIME | 8字节 | 日期时间 |
TIMESTAMP | 4字节 | 时间戳 |
修改数据表结构
添加字段
ALTER TABLE student
ADD address VARCHAR(200) NOT NULL,
ADD home_tel CHAR(11) NOT NULL;AlTER TABLE student
MODIFY home_tel VARCHAR(20) NOT NULL;DESC student;
MODIFY 之前
id int(10) unsigned NO PRI
name varchar(20) NO
sex char(1) NO
birthday date NO
tel char(11) NO
remark varchar(200) YES
address varchar(200) NO
home_tel char(11) NO
MODIFY 之后
id int(10) unsigned NO PRI
name varchar(20) NO
sex char(1) NO
birthday date NO
tel char(11) NO
remark varchar(200) YES
address varchar(200) NO
home_tel varchar(20) NO
change更改字段名称
ALTER TABLE student
change address home_adress VARCHAR(20) NOT NULL;
DESC student;
id int(10) unsigned NO PRI
name varchar(20) NO
sex char(1) NO
birthday date NO
tel char(11) NO
remark varchar(200) YES
home_adress varchar(20) NO
home_tel varchar(20) NO
删除字段
ALTER TABLE student
drop home_adress,
drop home_tel;
数据库表字段约束
数据库范式
- 第一范式:原子性
- 第二范式:唯一性
- 第三范式:每列都与主键有直接关系,不存在传递依赖
字段约束
约束名称 | 关键字 | 描述 |
---|---|---|
主键约束 | PRIMARY KEY | 字段值唯一,且不为NULL |
非空约束 | NOT NULL | 字段值不能为NULL |
唯一约束 | UNIQUE | 字段值唯一,且可以为NULL |
外键约束 | FOREIGN KEY | 保持关联数据的逻辑性 |
- 建议主键值使用数字类型,这样检索速度快
- 非空约束要求字段值不能为NULL
create table t_teacher(id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20) NOT NULL,tel CHAR(11) NOT NULL UNIQUE,married BOOLEAN NOT NULL DEFAULT FALSE
);
id int(10) unsigned NO PRI
name varchar(20) NO
tel char(11) NO UNI
married tinyint(1) NO 0
外键约束
CREATE TABLE t_dept(
deptno INT UNSIGNED PRIMARY KEY,
dname VARCHAR(20) NOT NULL UNIQUE,
tel CHAR(4) UNIQUE
);
CREATE TABLE t_emp(
empno INT UNSIGNED PRIMARY KEY,
ename VARCHAR(20) NOT NULL,
SEX ENUM("男","女") NOT NULL,
deptno INT UNSIGNED NOT NULL,
hiredate DATE NOT NULL,
FOREIGN KEY (deptno) REFERENCES t_dept(deptno)
);
数据库的索引机制:数据排序,查找速度翻倍。
如何创建索引?
根据type创建索引idx_type
create table t_message(
id INT UNSIGNED PRIMARY KEY,
content VARCHAR(200) NOT NULL,
type ENUM("公告","通报","个人通知"),
create_time TIMESTAMP NOT NULL,
INDEX idx_type (type)
);
删除索引
DROP INDEX idx_type ON t_message
另外两种创建索引的方式
CREATE INDEX idx_type ON t_message(type)
ALTER TABLE t_message ADD INDEX idx_type(type)
02数据库表的相关操作相关推荐
- MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- DM8表空间相关操作及介绍
DM8表空间相关操作及介绍 最近刚接触达梦数据库,经过基础的学习已初步掌握相关知识,下面给大家分享一下达梦8表空间的一些相关操作及介绍,后续会持续更新. 一.表空间介绍: 1.概念: 每个DM 数据库 ...
- 数据库表的CRUD操作
数据库表的CRUD操作 1 DDL_操作表_查询 R(Retrieve):查询 查询某个数据库中所有的表名称 show tables; 如图所示: 查询表结构 desc 表名; 如图所示: 2 DDL ...
- mysql显示表已存在_MySQL数据库与数据表的相关操作
数据库相关操作: 显示数据库:show databases; 如果是0.00秒并不代表没有花费时间,而是时间非常短,小于0.01秒. 创建数据库: Query OK表示创建成功,1行受到影响,处理时间 ...
- linux mongo数据库启动及相关操作
启动mongodb服务 首先需要建立一个文件夹,用来存放mongodb产生的数据库文件. 为了便于管理,我们将该文件夹放在mongodb安装目录下,即和bin目录平级. mkdir /usr/loca ...
- mysql查一个表3到5行的数据类型_MySQL入门(三) 数据库表的查询操作【重要】
序言 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可 ...
- mysql水果表查询_最全MySQL数据库表的查询操作
序言 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可 ...
- 用MySQL创建数据库和数据库表(linux终端操作)
用MySQL创建数据库和数据库表 http://tech.ccidnet.com/art/1105/20041104/173233_1.html 1.使用SHOW语句找出在服务器上当前存在什么数据库: ...
- python学习笔记之数据库表的读写操作
一.executemany()函数 建立数据库mariadb_learn,并且在userinfor表里面写入20个用户的账号和密码信息.代码如下 import pymysql #随机生成20条用户数据 ...
最新文章
- maven国内镜像(maven下载慢的解决方法)
- hihocoder #1329 : 平衡树·Splay
- C++ string的使用
- 深入浅出KNN算法(二) sklearn KNN实践
- 一个古怪的VISTA网络问题解决的坎坷经历
- 深度学习(03)-- CNN学习
- python实训的意义_[Python] 一个让我更加清楚地理解了字典的实验……
- 单片机定时器_51单片机的定时器如何计算初值?
- 群晖远程访问服务器,如何通过远程访问访问Synology中的所有数据
- python程序代码图片_完整的图片去噪代码(python)
- mysql意外关闭xampp_错误:MySQL意外关闭xampp 3.2.4
- java 20 -1 递归的概述和案例
- Windows系统下载安装MinGW(包括32位和64位)
- 谷歌浏览器,网页截长图
- 失眠的岁月,我们都交了哪些科技智商税?
- html制作发光效果的文字,HTML5/CSS3发光文字可自定义文字色彩效果很赞
- 测试网上哪款软件最好,手机测试软件哪款好用?4款测试软件推荐
- [zz] 基于sinc的音频重采样(一):原理
- amazon开发者申请,pii权限申请
- Word2vec词向量工具带你发现不一样的《天龙八部》
热门文章
- SDOI2017R2PKUSC2017
- 高德地图我的队伍查岗_详细测试高德地图的家人地图后 我学会了画地为牢
- 快速排序 python 4种写法_[算法] 关于快速排序的四种写法
- 小甲鱼python课后答案40讲_小甲鱼Python第二十一讲课后习题
- java实现阅读量统计_博客中的阅读量是如何设计的?
- Intel Core Enhanced Core架构/微架构/流水线 (2) - 代表处理器
- Android解析SVG
- MySQL子查询的使用
- 思科怎么修改dhcp服务器地址,思科交换机配置作为DHCP服务器的配置方法是怎样的?...
- Unity3D 的物理渲染和光照模型