赞
踩
1.展示当前数据库管理系统下都有哪些数据库:
show databases;
2.新建数据库:
create database if not exists 数据库名 charset=utf8;
其中 create:创建,建立
if not exists:这部分在尝试创建新数据库之前检查是否已经存在具有给定名称的数据库。如果已经存在具有指定名称的数据库,则跳过创建过程,不会引发错误。
charset=utf8:这部分指定用于在数据库内存储文本数据的字符集或字符编码。在这种情况下,"utf8" 表示UTF-8字符编码,这是一种广泛使用的编码,支持不同语言和脚本的大范围字符。
3.选择数据库:
use 数据库名;
4.查看当前选择的是哪一个数据库:
select database();
5.删除数据库:
drop database 需要删除的数据库名;
在使用表的相关操作之前,一定要确定自己是否选择了数据库,是否选择了正确的数据库,
以免造成数据损坏丢失或报错
1.展示当前数据库中都有哪些表:
show tables;
2.创建表:
- create table 表名(
- 列1名:类型 约束1 约束2 .....,
- 列2名:类型 约束2 约束2 .....,
- ........
-
- )
需要注意而且经常出错的地方:列名后面要跟类型,约束部分不分先后顺序
3.查看表结构:
desc 需要查看表结构的表名;
4.对表名进行更改(重命名)
alter table 旧的表名 rename 新的表名;
5.在表内新增列:
alter table 表名 add 列名 类型 约束1 约束2 ...;
6.对表内列的内容进行更改:
alter table 表名 change 原列名 更改的列名 类型 约束1 约束2 ....;
注意:如果你只想更改列内的某一项 可以其他的按着原列内容写,如果不写就会被默认删除
7.对表内的某一列进行删除(删除列):
alter table 表名 drop 列名;
8.对数据库内某个表进行删除(删除表):
drop table 表名;
Create(创建):在数据库中创建新的记录或数据项。这通常通过插入(Insert)语句来完成,将新数据添加到数据库表中。
Read(读取):从数据库中读取数据记录。这通过查询(Query)语句来实现,可以从数据库表中检索特定条件的数据。
Update(更新):更新数据库中现有的记录或数据项。这通过更新(Update)语句来实现,可以更改数据库表中的数据。
Delete(删除):从数据库中删除记录或数据项。这通过删除(Delete)语句来完成,可以从数据库表中删除满足特定条件的数据。
1.全列插入,比较麻烦,需要将列内需要的数据全部写入,设置默认值的也要插入(可以说设置默认值失效) 。 多个插入需要使用逗号隔开
insert into 表名 values(值1, 值2, 值3, ...), (值1, 值2,值3, .....), ...;
2.缺省插入,可以选择表内一部分数据插入,有默认值或者设置自增长,以及设置可以为空的不需要插入。 多个插入需要使用逗号隔开
insert into 表名(列1名, 列2名, ...) values(值1, 值2, ...), (值1, 值2, ...), ...;
3.查询表内所有内容, 这个慎用,以后的数据库内的数据成千万的,使用这个容易.....
select * from 需要查看内容的表名;
4.查询表内的部分内容(部分列):
- # 使用as可以以别名的形式展示出来 引号可加可不加
- select 列1名 as 别名, 列2名 as 别名 from 需要查看内容的表名;
5.条件查询以及模糊查询:
1.等于(=)
- # 查询这个表内id=1的列的内容
- select * from 表名 where id = 1;
2. 大于(>)
- # 查询这个表内id>5的列的内容
- select * from 表名 where id > 5;
3.小于(<)
- # 查询这个表内id<10的列的内容
- select * from 表名 where id < 10;
4.并且(and)
- # 查询这个表内id<5并且age>10的列的内容
- select * from 表名 where id < 5 and age > 10;
5.或者(or)
- # 查询这个表内id<4或者id>10的列的内容
- select * from 表名 where id < 4 or id > 10;
6. 在...之间(between and)
- # 查询这个表内salary在10000到15000的列的内容
- select * from 表名 where salary betwenn 10000 and 15000;
7. 在(in)
- # 查询这个表内id是括号内的列的内容
- select * from 表名 where id in (10, 11, 12, 13, 14, 15);
8.不在(not in)
- # 查询这个表内id不在括号内的列的内容
- select * from 表名 where id not in (10, 11, 12, 13, 14, 15);
9.模糊查询(like %(匹配多个), -(匹配一个)
- # 查询这个表内name中以字母j开头的列的内容
- select * from 表名 where name like 'j%';
-
- # 查询这个表内name中包含abc的列的内容
- select * from 表名 name like '%abc%';
-
- # 查询这个表内name任意五个字符组成的列的内容
- select * from 表名 name like '_____'
普通函数
1.查看当前选择的数据库:
select databases();
2.查询当前使用该数据库的用户
select user();
3.用户获取当前正在使用的数据库系统的版本号
select version();
4.获取当前的年月日(东八区):
select current_date();
5.获取当前的时分秒(东八区):
select current_time();
6.获取标准事件 扩展:我们位于东八区 与标准事件相差了8小时
select utf_time();
7.获取当前时间戳(年月日时分秒)
select current_timestamp();
聚合函数
1.统计表内行数
- # count内的*可以换成表内的任意列名
- # 统计该表内共有多少行
- select count(*) from 表名;
2.统计表内......(详情看下面代码)
- # 取表内最小列的内容
- select min(列名) from 表名;
-
- # 取表内最大列的内容
- select max(列名) from 表名;
-
- # 取表内最大id
- select sum(id) from 表名;
-
- # 取表内平均id
- select avg(id) from 表名;
3.可用于计算器
select 10+10+100*10-100 .....;
去重
根据列名去重
- # 根据列名1 和列名2 进行去重
- select distinct 列1名, 列2名 from 表名;
排序
1.升序排序 -->asc 默认就是升序 可写可不写
- # 按照表格内的age进行升序排序
- select * from 表名 order by age asc;
2.降序排序 -->desc 降序关键字
- # 按照表格内的age进行降序排序
- select * from 表名 order by age desc;
3.升序降序混用 --> 谁在前先按照谁排序 然后按照排序的基础上在排序
- # 先按照表格内的age进行升序排序 年纪相同的按照id进行降序排序
- select * from 表名 order by age asc,id desc;
分组
1.按照列内容进行分组
- # 统计列内age的种类以及每一种各有多少行
- select age, cocunt(*) from 表名 group by age;
2.对分组进行条件划分
- # 统计表内age>20的种类以及每一种的行数
- select age, count(*) from 表名 group by having age > 20
分页
1.第一页显示前count个数
- # 分页 count个为一页
- select * from 表名 limit count;
2.从start显示 显示count个数
- # 分页 从start开始显示 显示count个
- select * from 表名 limit start count;
修改
update 表名 set 列1=值1, 列2=值2, .....;
删除
- # 如果不加条件就是删除表中所有内容
- delete from 表名 + 条件;
约束的介绍
主键约束:每个表中必须有主键,主键必须唯一,能够确定唯一一行,primary key(列名)
非空约束:not null
自增长:auto_increment
唯一约束:unique 不能重复
默认值:default 内容 默认内容
外键:是另一个表的主键 foreign key(列名) reference 表名(主键名)
权限 on update restrict 拒绝更新
on delete restrict 拒绝删除
on update cascade 级联,同步更新
on delete cascade 级联,同步删除
例子:
- create table table1 (
-
- Id int not null auto_increment,
-
- uid int not null,
-
- gid int not null,
-
- num int not null,
-
- primary key(id),
-
- foreign key(uid) reference user(id) on update cascade on delete cascade,
-
- foreign key(gid) reference goods(id) on update cascade on delete cascade
-
- )
注释:此列子需要有一个user表和一个goods表 并且两个表的主键都是id
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。