结构化查询语言 (SQL)
SQL语句分类
1.DDL语句 数据定义语言
用在定义或改变表的结构数据类型、表之间的链接和约束等初始化工作上
CREATE(创建库或表)、drop(删除库或表)、alter(修改表内容)
DML语句 数据操纵语言
用于添加、删除、更新和查询数据库记录
INSERT(插入表)、UPDATE(更新表)、DELETE(删除表中数据),
DCL语句 数据控制语言
用于对数据访问权限进行控制,定义数据库、表、字段、用户的访问权限和安全级别
GRANT(授权)、REVOKE(取消授权)
DQL语句 数据查询语言
主要用于对数据的查询
select(查询)、from(什么表)、where(查找限制条件)
数据类型
数值类型包括整数类型、浮点类型、定点数类型、位类型
int 整数
字符串 char (varchar可变字符串)
char和varchar
CHAR用于存储固定长度的字符串 取值范围为0~255
在长度不足的情况下用空格补足
varchar用于存储可变长度的数据 取值范围为0~255
短于指示器长度的VARCHAR 数据不会被空格填补,但长于指示器的数据仍然会被截短
TEXT和BLOB
对于字段长度超过255个字节的情况
果截掉的字符不是空格,将会产生一条警告
TEXT是大小写不敏感的,而BLOB是大小写敏感的
TEXT被视为非二进制字符串,而BLOB被视为二进制字符串
BLOB可以储存图片,而TEXT只能储存纯文本
(1)需要表示年月日,使用DATE。
(2)需要表示年月日时分秒,使用DATETIME。
(3)需要经常插入或者更新日期为当前系统时间,使用TIMESTAMP。
(4)需要表示时分秒,使用TIME
show databases // (显示所有数据库)
show tables //(显示所有表)
create database 名字 (创建数据库)
create tables (选项) // 创建表
use (数据库名) // 进入数据库
show engines \G (显示当前储存引擎)
创建库注意
(1)数据库名称是唯一的,且区分大小写。
(2)可以由字母、数字、下画线、@、#、$组成。
(3)不能使用关键字。
(4)不能单独使用数字。
(5)最长 128 位
select database(); (查看正在适用的数据库)
create table (表名) (竖排选项1 类型(int),横排选项2 类型(char),横排选项3 类型(varchar),)
//删除数据库 drop database (库名)
//删除数据库 drop tables (表名)
no null // 不准为空
auto_increment //自动增长
primary key ; // 添加外键约束(组件)
default “()” ; //指定默认值
show create tables (表名) ; //查看表的创建属性 (可以快速创建统一类型表)
desc (表名) ; // 查看表结构
insert into 表名 (字段1,字段2,) values (值1, 值2,) ; //单独添加字段
insert into 表名 (字段1,字段2,) values (字段1值1,字段1值2), (字段2值1,字段2值2); //添加多行数据 (名字需要‘ ’)
select * from (表名); //查询表的所有内容
delete from (表名) where 条件; //删除满足条件的数据(在自动增长数据上在加)
truncate 表名 ; //清空表中数据 (不会自动增长数据上增加)
alter table (旧名) rename (新名) ; //修改表名
alter table (表名) change (旧字段名) (新字段名 类型); //修改字段名
alter table (表名) modify (字段名 ) (新的类型) ; //修改字段类型
alter table (表名) add (新的字段 类型) ; //添加新的字段
alter table (表名) drop (选择的字段) ; //删除选择的字段
alter table (表名) modify (移动的名字 类型) first/after (目标位置的前面或者后面) ; //更改字段顺序
update 表名 set (字段)=(值) ; /修改全部字段
update 表名 set (字段)= (值)where (条件); //修改满足条件的字段
update 表名 set (字段)= (字段+/-值)where (条件);//在基础上增加