一、基础SQL操作命令
1.1 连接和断开数据库
连接MySQL服务器:
mysql -u XXX -pXXX
## mysql代表客户端命令 -u:是连接数据库的用户名 -p:需要输入密码
退出数据库:
exit
quit
1.2 库操作
创建数据库:
create database database_name;
查看数据库:
show databases;
删除数据库:
drop database database_name;
选择数据库:
use database_name;
查看数据库下的数据表:
show tables;
1.3 表操作
1.3.1 创建表
create table table_name(
属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
...
属性名 数据类型 [完整性约束条件]
);
完整性约束:
示例:
create table student(
id int(10) NOT NULL,
Sname varchar(4) NOT NULL,
Sage int(2)
);
1.3.2 查看表
desc table_name;
## 用desc命令可以查看表的字段名称,属性类型,是否为空,约束条件,默认值及备注信息
show create table table_name;
## show命令可以打印出创建表的SQL语句,并限制该表的存储引擎及字符集编码信息
注:SQL语句可以用’;'号或者是\G结尾,使用\G使打印格式更加清晰
1.3.3 修改表
修改表名
alter table old_table remame new_table;
修改字段的数据类型
alter table 表名 modify 属性名 数据类型
修改字段名
alter table 表名 change 旧属性名 新属性名 新数据类型
增加字段
alter table 表名 add 属性名 属性类型 [完整性约束] [first | after 属性名2]
删除字段
alter table 表名 drop 属性名;
修改属性排列位置
alter table 表名 modify 属性名1 数据类型 first | after 属性名2
修改表的存储引擎
alter table 表名 engine=InNoDB|MyISAM;
1.3.4 表中插入数据
单条数据插入
insert into 表名(属性1,属性2,...,属性n)
values (值1,值2,...,值n);
批量数据插入
insert into 表名(属性1,属性2,...,属性n)
values
(值1,值2,...,值n),
(值1,值2,...,值n),
...,
(值1,值2,...,值n);
1.3.5 查询表
SQL的基本查询结构
select 属性列表(*) from 表名
[where 条件表达式]
[group by 属性名1[ having 条件表达式2] ]
[order by 属性名2[ASC|DESC] ]
带in的子查询
where 属性名 [not] in(元素1,元素2,...,元素n)
## 表示将in后面的元素存在的查询出来/剔除存在的元素
带between and的范围查询
where 属性名 [not] between 取值1 and 取值2
带like的通配符匹配查询
where 属性名 [not] like '字符串'
## 此处的like后面的字符串可以携带通配符
## %:表示0个或者任意长度的字符串
## _:只能是表示单个通配符
空值查询
where 属性名 is [not] null;
带and的多条件查询
where 条件表达式1 and 条件表达式2[...and 条件表达式n]
带OR的多条件查询
where 条件表达式1 条件表达式2[...or 条件表达式n]
去重查询
select distinct 属性名
对结果排序
order by 属性名 [ASC |DESC]
## ASC:升序、默认是升序
## DESC:降序
limit分页查询
limit num ## 不指定初始位置的limit记录数 num:记录数,一次最多加载num的数据
limit index, num 指定起始位置 ## index初始位置 , num:记录数