MYSQL语法篇之:“建”、“增”
创始人
2024-04-26 01:00:15
0

MYSQL学习之语法篇
本章学习目标

SQL语句之“建”

SQL语句之“增”

数据的存储过程

有一个数据库

在数据库中创建表格

在表格当中插入数据

完成以上三步就完成了一整个数据存储过程。

所以我们要学习的两个点:

创建:“建”

增加:“增”

SQL语句之“建”

创建数据库语法:

create database database_name;

在创建数据库的时候还可以加入条件判断语句:

create database [if not exists] databses_name;

创建表语法:

这里需要注意的是要创建表要进入数据库内才能创建表

创建表格时候需要给表格添加约束条件

约束条件就是前面提到的:

数据类型

主键:唯一、不为空是主键的两个特点

外键

索引

所以我们需要先去了解MYSQL当中的这些约束(Constraints)条件。

(1)MYSQL当中的数据类型:

主要分为三大类

1、Text(文本)

Char(size):固定长度的字符串(包含字母、数字、特殊符号)。*括号中指定字符串的长度,最多为255个字符*

Varchar(size):可变长度字符串,*括号中指定字符串的长度,最多为255个字符。*如果超过255个字符则被转换为Text类型。

TinyText:存放最大长度为255个字符串。

Text:存放最大长度为65535个字符串

Blob(Binary Lange Object):专门存放二进制数据的数据类型对象最多存放65535字节的数据

Mediumtext:存放最大长度为16777215个字符的字符串

Mediumblob:存放最大长度为16777215字节的数据

Longtext:存放最大长度为4294967295个字符的字符串

Longblob:存放最多为4294967295字节的数据

2、Number(数字)

tinyint(size):带符号:-127到128

无符号:0-255

smallint(size_default=6):带符号:-32768到32767

无符号:0到65535

mediumint(size_default=9):带符号:-838608到8388607

无符号:0到16777215

int(size_default=11)

bigint(size_default=20)

float(size,d)(浮点型的小数字):size规定:显示最大为数

d规定:小数点右侧的最大位数

double(size,d)(浮点型的大数字):size规定:显示最大为数

d规定:小数点右侧的最大位数

decimal(size,d):字符串储存的double类型,允许固定小数点。 size规定:显示最大为数

d规定:小数点右侧的最大位数

这里需要注意:*int(size)并不是存储在数据库中的具体长度*,int(3)/int(4)/int(5)在数据库中所占的存储空间都一样大,只是*显示给用户的方式有不同*

3、Date(日期)

date( ) :日期

格式:YYYY-MM-DD

范围:1001-01-01到1999-12-31

datetime( ) :日期、时间组合

格式:YYYY-MM-DD HH:MM:SS

time( ) :时间

格式:HH:MM:SS

year( ) :年--2位 or 4位

(2)主键

Primary key

(3)外键

Foreign key

(4)索引

Index

(5)保证某列的每行必须有唯一的值

Unique

(6)保证列中得值符合指定的条件

Check

(7)规定没有给列赋值时的默认值

Default

有了以上知识铺垫以后可以来说说我们的表格创建语法:

创建表格语法:

create table table_name (

column_name1 data_type(size)(数据类型)constraint_name,

column_name2 data_type(size) constraint_name,

column_name3 data_type(size) constraint_name

......

);

可能有小伙伴看不明白上面啥意思可以举一个实例:

创建一个雇员表(employee),字段名包括:雇员ID(empid),名字(name),性别(sex),标题(title),生日(birthday),部门ID(depid)

雇员ID数字类型为整数型,设置为主键

姓名数字类型为可变字符串型,设置不能为空

性别数字类型设置为固定字符串型,设置选择“男” 或者 “女”

标题数字类型设置为可变字符串型,设置能为空

生日数字类型设置为日期型,设置唯一

部门ID数字类型设置为整数型,设置默认值为1

create table employee(

empid int(10) primary key,

name varchar(32) not null,

sex char(4) check ('男' or '女'),

title varchar(32) null,

birthday date unique,

depid number() default '1');

下面会举例创建每个约束条件

(1)创建主键约束:

首先我们需要去了解主键的特征:

1、约束唯一标识数据库表中每条记录

2、主键必须包含唯一的值

3、不能包含NULL值

4、每表应有一个主键

5、每表只能有一个主键

创建主键约束的语法:

create table table_name(

column_name1 datetype primary key);

在已建好的表中增加主键约束的语法(前提是该表之前没有主键约束):

alter table table_name add primary key (column_name);

撤销已建好的表中的主键约束的语法:

alter table table_name drop primary key (column_name);

(2)创建外键约束:

外键约束的特征:

一个表中的foreign key指向另一个表中的unique key(唯一约束值)

必须有两个表才能引用foreign key

创建外键约束的语法:

前置条件:

table1

table2

创建外键的语法:(用到关键字:reference n.参考)

create table table2_name1(

column_name1 datetype constraint,

column_name2 datetype constraint,

primary key (column_name1),

foreign key (column_name2) reference table1_name1 (column_name1));

(3)创建索引:

索引的特征:

1、数据库更快的查询数据

2、(用户无法看到索引)它们只能被用来加速搜索查询

创建索引的语法:

1、在表上创建一个简单的索引:

create index index_name on table_name (column_name);

可以理解为在表的列上创建索引

2、在表上创建一个 唯一 索引:

这里面用到了关键字唯一(unique)。这是一个组合用法

create unique index index_name on table_name (column_name);

3、创建不止一个索引:

create index index_name on table_name (column_name1、column_name2);

4、删除表中索引:

alter table table_name drop index index_name;

(其实语句语法都是相似的只是看如何使用。这里面就要涉及到对SQL语句的理解深度的问题)

(4)创建唯一约束:

这里只需要注意一点每个表中可以有多个unique约束,但是只能有一个primary key约束

create table table_name(

column_name datetype unique);

(5)创建CHECK约束:

create table table_name(

column_name datetype check ( '内容' or '内容'));

(6)创建DEFAULT约束:

create table table_name(

column_name datetype default value);

SQL语句之“增”*

增的语法比较简单,但是增的类型有两种。

第一种:整行插入(关键字:insert into)

语法:

insert into table_name values(

column_name1_date),

(column_name2_date),

(column_name3_date,......);

上面的方法是多段插入的方法,下面有分别插入的方法:

insert into table_name values(

column_name1_date);

insert into table_name values(

column_name2_date);

insert into table_name values(

column_name3_date);

......

第二种:指定插入(关键字:update)

update table_name set column_name='value_new' where column_name='value_old';

增的时候要注意:增加的数据必须符合建表是该字段名的数据类型以及约束条件

 

相关内容

热门资讯

安卓系统源码怎么打开,并可能需... 你有没有想过,安卓系统的源码就像是一扇神秘的门,隐藏着无数的技术秘密?想要打开这扇门,你得掌握一些小...
安卓8.0系统体验视频,智能革... 你有没有听说安卓8.0系统最近可是火得一塌糊涂啊!作为一个紧跟科技潮流的数码达人,我当然要来给你好好...
宣传系统漫画app安卓,探索安... 亲爱的读者们,你是否曾在某个午后,百无聊赖地打开手机,想要寻找一些轻松愉悦的读物?今天,我要给你介绍...
鸿蒙替换安卓系统吗,开启智能生... 你知道吗?最近科技圈里可是炸开了锅,因为华为的新操作系统鸿蒙系统,据说要大举进军手机市场,替换掉安卓...
手机安卓系统深度清理,解锁手机... 手机里的东西是不是越来越多,感觉就像一个装满了杂物的储物柜?别急,今天就来教你一招——手机安卓系统深...
安卓上的windows系统,融... 你有没有想过,在安卓手机上也能体验到Windows系统的魅力呢?没错,这就是今天我要跟你分享的神奇故...
安卓系统焦点变化事件,Andr... 你知道吗?在安卓系统的世界里,最近发生了一件超级有趣的事情——焦点变化事件。这可不是什么小打小闹,它...
一加系统安卓降级,轻松还原经典... 你有没有想过,你的手机系统升级后,突然发现某些功能变得不那么顺心了?别急,今天就来聊聊一加系统安卓降...
日本最好的安卓系统,体验非凡 亲爱的读者们,你是否曾想过,在遥远的东方,有一个国家,他们的智能手机系统独具特色,让人眼前一亮?没错...
荣耀安卓11 系统证书,保障安... 你知道吗?最近手机圈里可是炸开了锅,荣耀安卓11系统证书成了大家热议的话题。这不,我就迫不及待地来和...
安卓手机开机升级系统,体验流畅... 你有没有发现,每次你的安卓手机开机,总会有那么一刹那,屏幕上跳出一个升级系统的提示?是不是觉得这就像...
真正的安卓系统手机,安卓系统手... 你有没有想过,为什么有些人对安卓系统手机情有独钟?是不是觉得市面上的安卓手机千篇一律,缺乏个性?别急...
安卓怎么用定位系统,轻松实现精... 你有没有想过,手机里的定位系统竟然这么神奇?它不仅能帮你找到回家的路,还能在茫茫人海中找到你的好友。...
安卓的哪个系统流畅,探索新一代... 你有没有想过,为什么你的安卓手机有时候像蜗牛一样慢吞吞的,而别人的手机却像风一样快?今天,就让我带你...
安卓系统解锁工具下载,畅享自由 你是不是也和我一样,对安卓系统的解锁工具感兴趣呢?想象你的手机被锁住了,无论是忘记密码还是想尝试新的...
谷歌退出安卓系统停用,停用背后... 你知道吗?最近有个大新闻在科技圈里炸开了锅!谷歌竟然宣布要退出安卓系统,这可真是让人大跌眼镜啊!想象...
安卓系统卡顿修复,轻松提升手机... 手机用久了是不是感觉有点卡卡的呢?别急,今天就来给你支几招,让你的安卓手机重焕生机,告别卡顿的烦恼!...
安卓系统停用怎么解除,轻松恢复... 你是不是也遇到了安卓系统停用的问题,急得像热锅上的蚂蚁?别急,今天就来给你详细解析怎么解除这个让人头...
最初始的安卓系统,技术演进与产... 亲爱的读者,你是否曾好奇过,那个如今无处不在的安卓系统,它的诞生之初是怎样的呢?今天,就让我们一起穿...
patchwall系统和安卓系... 你有没有发现,手机上的界面越来越个性化了?没错,这就是科技的魅力所在。今天,咱们就来聊聊两个在个性化...