SQL是一种结构化查询语言,本文以Mysql为例,介绍一些基本操作。
数据库的增删改查:
创建:create database test;
展示:show create database test;
使用:use test;
删除:drop database test;
数据表的增删改查:
创建:create table 表名(字段名 字段类型 约束条件,字段名 字段类型 约束条件);
数据类型:数值型(int,float(10,2),double(16,4),decimal(16,4))
日期和实践类型(date,datetime,time,timestamp,year)
字符串类型(char(1),varchar(255),tinyblob)
约束条件:primary key 主键
not null 非空
unique 唯一
auto_increament自增
default 默认值
查看:show tables;
删除:drop table 表名;
插入数据:insert into 表名(字段1,字段2,…)values(字段1的值,字段2的值…)
检查: 全部内容:select * from 表名;
总行数:select count(*) form 表名;
表结构:desc 表名;
修改: 表名: alter table 旧表名 rename 新表名;
字段名: alter table 表名 change 旧字段名 新字段名 数据类型;
数据类型:alter table 表名 modify 字段名 新数据类型
添加字段:alter table 表名 add 字段名 字段类型 约数条件;
字段排序:alter table 表名 modify 字段名 字段类型 first;
alter table 表名 modify 字段名 字段类型 after 某字段名;
select查询功能:
常用函数(avg,sum,max,min,count)
基本语句:
select 〈目标列组〉
from〈数据源〉
[where〈元组选择条件〉 ]
[group by〈分列组〉 [having 〈组选择条件〉 ]]
[order by〈排序列1〉〈排序要求1〉 [, …n]];
select distinct 目标列组 from 表名;消除重复记录
as用法:select f.* from fruits as f
limit用法:select * from fruits order by f_price desc limit 3;
多表查询:
内连接:SELECT <select_list> FROM A INNER JOIN B ON A.Key = B.Key;
左连接:SELECT <select_list> FROM A LEFT JOIN B ON A.Key = B.Key;
右连接:SELECT <select_list> FROM A RIGHT JOIN B ON A.Key = B.Key;
联合查询(去重):select t1.* from t1 union select t2.* from t2;
联合查询(不去重):select t1.* from t1 union all select t2.* from t2;
子查询:
select * from fruits where f_id in
(select f_id from fruits where f_price between 10 and 20);