数据库---SQL

这里想大致介绍一下SQL的基本用法。

在介绍之前,想先粗略地说明一下数据库服务器的内部结构。

这里以MYsql为例,服务器对象分成4层:系统(DBMS:DataBase Management System)——》数据库(DB)——》数据表(table)——》字段(field),图形如下:

SQL的基本操作:CRUD(增删改查):create,Read,update,Delete

从上面图形可以看出,根据操作对象可以分成三类:库操作,表(字段)操作,数据操作

  • 库操作(CRUD)

新增数据库:

语法:create database 数据库名称【库选项】;

什么是库选项呢?它是用来限制数据库的。分成俩类:

字符集设定:charset/character set(数据存储的格式,如utf8,gbk)

校对集设定:collate 数据比较的规则

举例:create database my_database charset utf8;

说明其中数据库的名称不能用关键字或者保留字命名,如果非要使用,必须加上反引号。

有人会问,数据库名称能否是中文?如create database 数据库 charset utf8,这样是不行的,字符集不匹配

可以这样解决,告诉服务器当前中文的字符集是什么?前面加上set names gbk;

查看数据库:

语法:show databases;---这是查看所有的数据库

如果要查看部分数据库

语法:show databases like “pattern”

这里的pattern可以是%,_,其中%表示匹配任意字符,_表示匹配单个字符

查看数据库创建的语句:

语法:show create database 数据库名字;

 

更新数据库:

数据库名称不能修改,修改会导致安全性问题,修改的是库选项,即是字符集和校对集

语法:

Alter database 数据库名字【库选项】

character set/charset [=] 字符集

collate 【=】校对集

 

删除数据库:

语法:

drop database 数据库名字;

注意数据库删除不是闹着玩的,删除之前建议先备份;

  • 表操作

表与字段是密不可分的

新增表

语法:

create table(if not exists) 表名(字段名 数据类型,字段名 数据类型...)【表选项】;

if not exists:如果表名不存在,那么就创建,否则不执行创建代码;

表选项:控制表的表现

字符集,校对集,存储引擎

任何一个表的设计都需要依赖数据库,

方案1:显式

create table(if not exists) 数据库名称.表名(字段名 数据类型,字段名 数据类型...)【表选项】;

方案2:隐式

首先进入数据库,然后创建表

use 数据库名字(后面可以没有分号)

查看表

语法:show tables;---这是查看所有的表

如果要查看部分表

语法:show tables like “pattern”

这里的pattern可以是%,_,其中%表示匹配任意字符,_表示匹配单个字符

查看表创建的语句:

语法:show create table 表名;

查看表中的字段信息:

语法:Desc/describe/show columns from 表名;

更新表

表本身存在,还包含字段,表的修改包含俩个部分:修改表本身和修改字段

修改表本身:表名+表选项

重命名表:

语法:rename 旧表名 新表名;

修改表选项:

语法:Alter table 表名 表选项 [=] 字符集

修改字段:增删改查

新增字段:

语法:Alter table 表名 add [column] 字段名 数据类型 【列属性】【位置】

位置:字段可以放在表的任意位置,Fisrt:第一个位置,After:在哪个字段之后

修改字段:通常修改字段属性或数据类型

语法:Alter table 表名 modify 字段名 数据类型 【列属性】【位置】

重命名字段:

语法:Alter table 表名 change 旧字段名 新字段名 数据类型 【列属性】【位置】

删除字段:

语法:Alter table 表名 drop 字段名

删除表:

语法:drop table 表名1,表名2,....

  • 数据操作

新增数据

给全表字段插入:

语法:insert into  表名 values(值列表)  ---可以一次性插入多条记录

给表部分字段插入:

语法:insert into  表名(字段列表) values(值列表) 

查看数据

语法:select */字段列表 from  表名 [where条件]

更新数据

语法:Update 表名 set 字段 = 值 [where条件]

删除数据

语法:delete from 表名 【where条件】,删除不可逆,需要谨慎

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值