SQL语句(未完结)
SQL语句
标签: MySQL
博主新人,学习记录,请多指教。
SQL通用语法
- 分号结尾
- 大小写不敏感
- 注释:
单行:--
或##
(MySQL方言)
多行:/* */
分类
DDL:data definition language,数据定义语言,定义数据库对象:数据库、表、字段
DML:data manipulation language,数据操作语言,增删改
DQL:data query language,数据查询语言,查
DCL:data control language,数据控制语言,创建数据库用户、控制数据库访问权限
数据类型
-
数值类型
- 例:
123.45,精度为5,标度为2。
tinyint unsigned
:无符号tinyint
。
存100以内小数(100.00-0.00):double(5,2)
- 例:
-
字符串类型
char(10)
//只要放得下输入,多大都是10字节,性能好
varchar(10)
//最大10字节,性能相对差 -
日期时间类型
DDL 表操作
数据库
- 删除:
drop database [if exists] 数据库名;
- 使用数据库
use 数据库名;
- 删除数据库
drop 数据库名;
- 查询当前所在数据库:
select database();
表
- 查询当前数据库所有表
show tables;
- 查询表结构(展示表中字段)
desc 表名;
- 查询指定表建表语句(字段详细信息)
show create table 表名;
- 表创建:
create table 表名(
字段1 字段1类型[COMMENT 字段1注释],## 中文加''或""
字段2 字段1类型[COMMENT 字段2注释],
字段3 字段1类型[COMMENT 字段3注释],
......
)[COMMENT 表注释];
修改表
- 添加字段:
alter table 表名 add 字段名 类型(长度)[comment 注释] [约束];
- 修改数据类型:
alter table 表名 modify 字段名 新数据类型(长度);
- 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释]
- 删除字段:
alter table 表名 drop 字段名;
- 修改表名:
alter table 表名 rename to 新表名;
删除表
- 删除表:
drop table [if exists] 表名;
- 删除指定表并重新创建该表:
truncate table 表名;
DML 针对数据增删改
添加数据
- 给指定字段添加数据
insert into 表名(字段1,字段2,...) values(值1,值2,...);
- 给全部字段添加数据
insert into 表名 values (值1,值2,...);
- 批量插入数据:
指定字段:insert into 表名 insert into 表名(字段1,字段2,...) values(值1,值2,...),(值1,值2,...),(值1,值2,...),...;
全部字段:insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...),...;
- 显示某表内容:
select * from 表名;
修改数据
- 修改数据:
update 表名 set 字段名=值1,字段2=值2,...[where 条件];
- eg:
update student set name='zzz',age=24 where id=1;
// 多个条件用and
连接。如果没有条件,将修改整张表的此字段所有数据。
删除数据
- 删除数据:
delete form 表名 [where 条件];
- 注意:
- 一删删一行,如果没有条件语句,将删除整张表所有数据。
- delete语句不能删除某一个字段的值,直接用update就行。
DQL 查询数据
ing...