一、基础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(
属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
...
属性名 数据类型 [完整性约束条件]
);

完整性约束:

sql server 數據表檢查 sql数据库检查命令_数据库


示例:

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:记录数