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';

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

 

相关内容

热门资讯

安卓系统通知管理,全面解析与优... 你有没有发现,手机里的通知就像是一群调皮的小精灵,时不时地跳出来和你互动?没错,说的就是安卓系统的通...
安卓系统手机哪买,揭秘哪里购买... 你有没有想过,拥有一部安卓系统手机是多么酷的事情呢?想象你可以自由安装各种应用,不受限制地探索各种功...
安卓系统 ipv4,基于安卓系... 你知道吗?在智能手机的世界里,有一个系统可是无人不知、无人不晓,那就是安卓系统。而在这个庞大的安卓家...
目前安卓是什么系统,探索安卓系... 亲爱的读者,你是否曾好奇过,如今安卓系统究竟是什么模样?在这个科技飞速发展的时代,操作系统如同人体的...
安卓6.0系统比5.0,从5.... 你有没有发现,自从手机更新了安卓6.0系统,感觉整个人都清爽了不少呢?没错,今天咱们就来聊聊这个话题...
安卓2.36系统升级,功能革新... 你知道吗?最近安卓系统又来了一次大变身,那就是安卓2.36系统升级!这可不是一个小打小闹的更新,而是...
安卓系统源码怎么打开,并可能需... 你有没有想过,安卓系统的源码就像是一扇神秘的门,隐藏着无数的技术秘密?想要打开这扇门,你得掌握一些小...
安卓8.0系统体验视频,智能革... 你有没有听说安卓8.0系统最近可是火得一塌糊涂啊!作为一个紧跟科技潮流的数码达人,我当然要来给你好好...
宣传系统漫画app安卓,探索安... 亲爱的读者们,你是否曾在某个午后,百无聊赖地打开手机,想要寻找一些轻松愉悦的读物?今天,我要给你介绍...
鸿蒙替换安卓系统吗,开启智能生... 你知道吗?最近科技圈里可是炸开了锅,因为华为的新操作系统鸿蒙系统,据说要大举进军手机市场,替换掉安卓...
手机安卓系统深度清理,解锁手机... 手机里的东西是不是越来越多,感觉就像一个装满了杂物的储物柜?别急,今天就来教你一招——手机安卓系统深...
安卓上的windows系统,融... 你有没有想过,在安卓手机上也能体验到Windows系统的魅力呢?没错,这就是今天我要跟你分享的神奇故...
安卓系统焦点变化事件,Andr... 你知道吗?在安卓系统的世界里,最近发生了一件超级有趣的事情——焦点变化事件。这可不是什么小打小闹,它...
一加系统安卓降级,轻松还原经典... 你有没有想过,你的手机系统升级后,突然发现某些功能变得不那么顺心了?别急,今天就来聊聊一加系统安卓降...
日本最好的安卓系统,体验非凡 亲爱的读者们,你是否曾想过,在遥远的东方,有一个国家,他们的智能手机系统独具特色,让人眼前一亮?没错...
荣耀安卓11 系统证书,保障安... 你知道吗?最近手机圈里可是炸开了锅,荣耀安卓11系统证书成了大家热议的话题。这不,我就迫不及待地来和...
安卓手机开机升级系统,体验流畅... 你有没有发现,每次你的安卓手机开机,总会有那么一刹那,屏幕上跳出一个升级系统的提示?是不是觉得这就像...
真正的安卓系统手机,安卓系统手... 你有没有想过,为什么有些人对安卓系统手机情有独钟?是不是觉得市面上的安卓手机千篇一律,缺乏个性?别急...
安卓怎么用定位系统,轻松实现精... 你有没有想过,手机里的定位系统竟然这么神奇?它不仅能帮你找到回家的路,还能在茫茫人海中找到你的好友。...
安卓的哪个系统流畅,探索新一代... 你有没有想过,为什么你的安卓手机有时候像蜗牛一样慢吞吞的,而别人的手机却像风一样快?今天,就让我带你...