SQL语句基础
SQL(Structure Query Language)结构化查询语言
SQL语句分类
数据定义语言 DDL(data defination language)
create(创建)、drop(删除)、alter(修改)
用于创建、修改、删除数据库/表的语言
数据查询语言 DQL(data query language)
select操作
基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>
数据操作语言 DML(data manipulation language)
insert(插入) 、delete(删除)、update(更新)
主要是数据库增、删、改三种操作
事务处理语言 TPL
commit(提交)、rollback (回滚)
用于控制数据库操纵事务发生的时间及效果,对数据库实行监视等。
数据控制语言 DCL(data control language)
grant(授权)、revoke(取消授权)
用于创建用户!用户赋予权限!
数据库的操作
DDL数据定义语言
? 一、操作数据库
创建数据库
create database 数据库名称;
create database 数据库名称 character set gbk;
修改数据库
alter database 数据库名称 character set utf8;
查看数据库
show databases;
切换数据库
use 数据库名称;
select database();
删除数据库
drop database 数据库名;
? 二、操作数据表
? 创建数据库表
语法
create table 表名(
列名 类型 [约束] comment ‘这一列是干啥的‘, --comment ‘注释‘--
列名 类型 [约束]
)[charset=utf8] --设置编码格式--
类型
数字类型
int
double(多少位,小调点后面的位数) 注意有效15位!
decimal(多少位,小调点后面的位数)注意有效25位!
时间类型
- date 年-月-日
- time 时:分:秒
- datetime 年-月-日 时:分:秒
- timestamp 自动时间赋值 年-月-日 时:分:秒
时间格式就是字符串!真正开发存储时间字符串存时间戳!
字符串类型
- char(0-255)
- varchar(0-65535)
? 修改数据库表
添加一列
alter table 表名 add 列名 类型;
删除一列
alter table 表名 drop 列名;
修改列名
--注意:修改列名的时候尽量不要改类型!--
alter table 表名 change 原列名 新列名 类型;
修改列类型
alter table 表名 modify 列名 新类型;
修改表名
alter table 老表名 rename 新名字;
三、查看数据库表
desc 表名; --查看当前表包含的列--
show tables; --查看当前库包含哪些表!--
四、删除数据库表
drop table 表名;
DML数据操作语言
插入数据
insert into 表名(列名,列名...) value/values(值,值,值),(值,值,值);
--值和列名一一对应(位置,类型)--
insert into 表名 value/values(值,值,值),(值,值,值);
修改数据
update 表名 set 列 = 新值 ,列 = 新值; --全表修改--
update 表名 set 列 = 新值 ,列 = 新值 where 列 = 值; --修改指定位置--
删除数据
delete from 表名; --全表删除--
delete from 表名 where 条件; --条件删除--
truncate table 表名; --truncat只删除数据,不破坏表的结构(定义)--