SQL基本类型
- int:整型
- double(a,b):浮点型,其中最长a位IE,且其中b为必须是小数。
- char:固定长度的字符串类型
- varchar:不定长度的字符串类型
- text:字符串类型
- blob:字节类型
- date:日期类型,具体格式:
YYYY-MM-DD
- time:时间类型,具体格式:
HH:MM:SS
- timestamp:时间戳类型,就是把上面的日期类型与时间类型合并了,具体格式:
YYYY-MM-DD HH:MM:SS
数据库操作
use 数据库名称
:切换数据库select database();
:查看当前连接数据库show databases;
:查看已有数据库create database 数据库名称;
:创建一个新的数据库drop database 数据库名称;
:删除数据库
表操作
show tables;
:显示已有的表show create table 表名;
:显示该表的定义信息desc 表名;
:查询该表的结构drop table 表名;
:删除该表
创建表
create table 表名( 列名 数据类型(长度), 列名 数据类型(长度), …… );
主键:create table 表名( 列名 数据类型(长度) primary key,......);
自增主键:create table 表名( 列名 数据类型(长度) primary key auto_increment,......);
非空约束:create table 表名( 列名 数据类型(长度) not null,......);
唯一约束:create table 表名( 列名 数据类型(长度) unique,......);
插入数据
insert into 表名(用逗号分隔的列名列表) values(使用逗号分隔的每列的数据列表);
修改数据
update 表名 set 列名=新值,列名=新值…… [where 子句];
删除数据
delete from 表名 [where 子句];
truncate [table] stu;
delete函数是逐行删除,而truncate是直接将表截断再重新创建,效率比delete高。
查询表
select * from stu [where 子句];
:这个命令是查询符合要求的完整的一行,
如果只需要查询符合要求的某些列,就将*
换成列名。
where语句
用来判断是否符合要求的语句,作用类似if。
SQL中的运算符
- 基本运算符:=、!=、<>、<、<=、>、>=
- 逻辑运算符:AND、OR、NOT
- 判断是否为空:IS NULL
- 在什么之间:BETWEEN…AND
- 在某集合中:IN()
通配符
%
:代表任意数量的字符_
:代表一个任意字符- 语法:
列名 like 含有通配符的表达式
例如,where name like 'a%';
一些自带函数
COUNT()
:统计不为空的行数MAX()
:统计不为空的行数MIN()
:统计不为空的行数SUM()
:统计不为空的行数AVG()
:统计不为空的行数
例如select count(*) from 表名
就是统计该表非空的行数。