目录
SQL操作
1、连接数据库
2、库操作
2.1 创建数据库的SQL语句格式:
2.2 查看数据库的SQL语句格式:
2.3 删除数据库SQL语句格式
2.4 选择数据库的SQL语句格式
2.5 查看数据库下的表列表SQL语句格式
3、表操作
3.1、创建表
3.2、查看表
3.3、修改表
3.4、查询表
4、数据库中数据处理的SQL
4.1 插入数据的SQL
SQL操作
1、连接数据库
第一步:win+R,输入cmd,打开cmd窗口;第二步:通过输入“net start mysql”命令,启动mysql服务;第三步:通过DOS命令进入到mysql安装目录的bin目录下;第四步:在命令行输入“mysql -u数据库用户名 -p密码”,然后回车。root是mysql默认用户名,如果设置了密码可以在-p后直接输入,如果没有设置,则直接回车即可。注:如果运行net start mysql后,出现发生系统错误 5,拒绝访问。则以管理员身份打开cmd,再来运行该命令,即可。
2、库操作
2.1 创建数据库的SQL语句格式:
create database database_name;
2.2 查看数据库的SQL语句格式:
show databases;
2.3 删除数据库SQL语句格式
drop database database_name;
2.4 选择数据库的SQL语句格式
use database_name;
2.5 查看数据库下的表列表SQL语句格式
show tables;
3、表操作
3.1、创建表
create table table_name(
属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件]
);
举例:
注意:最后一个属性输入是没有“,”。另外,在表中给定属性时需要指定合适的类型,并且可以给定完整性约束条件,主键、非空、唯一性等等。
插入数据SQL:
insert into table_name(属性1,属性2...,属性n) values(属性值1,属性值2,...,属性值3);
3.2、查看表
desc table_name;
通过desc命令查看表的字段名称,类型、是否为空、默认值、备注信息
show create table table_name;
通过该形式可以查看创建表的SQL语句,show形式除了展示创建SQL,还能查看存储引擎及字符集编码
注:SQL语句结束可以使用‘;’形式,也可以使用‘\G’,该形式查看的数据更清晰。
3.3、修改表
对于表在不满足需求的情况下,可以通过alter命令修改
修改表名
alter table old_table_name rename new_table_name;
修改字段属性名
alter table table_name change 旧属性名 新属性名 新数据类型;
修改属性类型
alter table table_name modify 属性名 属性类型;
增加字段属性
alter table table_name add 属性名 类型 [完整性约束] [first|after 属性]
删除字段属性
alter table table_name drop 属性名;
修改字段排列顺序
alter table table_name modify 属性名1 类型 first|after 属性名2;
使用方法:
alter table table_name modify 属性名1 类型 first; //放在第一位置
alter table table_name modify 属性名1 类型 after 属性名2; //指定属性1放在属性名2后面
3.4、查询表
SQL的基础结构如下:
select * from table_name
[where 条件表达式]
[group by 属性名 [having 条件表达式]]
[order by 属性名 [ASC|DESC]]
带in的子查询
一般放在where条件后,批量查询
[not] in(元素1、元素2...元素n)
带between and的范围查询
[not] between 元素1 and 元素2
带like的模糊匹配
[not] like ‘字符串’
like后模糊匹配针对字符串可以携带通配符,‘%’表示0个或者多个字符串,‘-’只能表示单个字符串
空值查询
is [not ] null
带AND的多条件查询
添加表达式1 and 条件表达式2...and 条件表达式n
带OR的多条件查询
添加表达式1 or 条件表达式2 。。。or 条件表达式n
去重处理
select distinct 属性名 from 表
对结果排序
order by 属性名 [ASC|DESC]
order by属性后不添加默认是升序[asc] ASC:升序 DESC:降序
分组查询
group by 属性名 [having 条件表达式]
问题:Distinct和Group By都能完成数据去重?有什么区别?
答:都可以用来去重,distinct针对全部字段去重,而group by可以针对全部字段中的单一字段去重。
limit分页查询
limit len; //limit带一个参数,表示不指定初始位置的limit,表示从0好位置开始获取len长度数据返回
limit index len;//带两个参数,第一个参数表示起始位置,第二个参数表示每次读取的长度
4、数据库中数据处理的SQL
4.1 插入数据的SQL
insert into table_name (属性名1,属性2,。。。属性n) values(元素1,元素2,...,元素n); //单个数据的插入
insert into table_name (属性名1,属性2,。。。属性n) values(元素1,元素2,...,元素n),(元素1,元素2,...,元素n); //批量插入
修改数据的SQL:
update table_name set 属性名 = 新元素 where 条件表达式
删除数据SQL:
delete from table_name where 条件表达式
退出:exit;
以上都是学习过程中的知识点总结,如果有错误或者有疑问,欢迎一起交流吖~~