博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库总结
阅读量:6496 次
发布时间:2019-06-24

本文共 2089 字,大约阅读时间需要 6 分钟。

数据库:

增:create database 数据库名称;

删:drop database 数据库名称;

查:show databases;

进入库:use 数据库名;

 

数据表:

增:create table 表名(

id  int auto_increment primary key,

name varchar(32)  not null  default '',

pwd  char(32)  not null  default ''

constraint 外键名(fk_userinfo_depart) foreign key (列名(depart_id)) references 表名(department)(关联的列名(id))   #外键

)engine=Innodb charset=utf8;  

删:drop table 表名

改:

修改字段:

alter table 表名(t3) change 原列名(name) 新列名(username varchar(32) not null default '');
新增字段:
alter table 表名(t3) add 新列(pwd char(32) not null default '');
删除字段:
alter table 表名(t3) drop 列名(pwd);

查:show tables;

查看表结构:desc 表名

查看表的创建过程: show create table 表名

 

数据行:

增:insert into  t3 (id, name) values (1, '你好');  增加单个

insert into t3 (id, name) values ('lxxx', 12), ('xxxxx', 13), ('xxxxxx', 13); 增加多个

insert into t1 (name, age) select name, age from t2; 批量增加

删:

delete from 表名(t3); 将表中的所有的 数据删除掉, 再次添加的时候, 继续会延续上一个 ID

delete from 表名(t3) where name = 'xxxxx';

truncate 表名(t3); 将表中的所有的 数据删除掉, 再次添加的时候, ID 会重新开始
truncate 速度快

改:

update t3 set username='zekai';    # 全部改

update t3 set username='xxxx' where id=3;   # 改某一行
update t3 set username='xxxx', pwd='xxxxx' where id=3;  # 改某一行的某个数据

 

外键:constraint 外键名(fk_userinfo_depart) foreign key (列名(depart_id)) references 表名(department)(关联的列名(id)),

 

唯一索引:unique()目的:加速查找,不能重复

查:

select * from 表名;查看去全部

a. where + 条件 查询 限制查询条件

select * from 表名 where id >10;

b. between  and 闭区间查询

select * from 表名 where 列名 bentween   and 

c. in 在某一集合中

select * from 表名 where 列名 in (集合)

d. 通配符

select * from 表名 where 列名 like "ale%"; 匹配以某某开头的所有

select * from 表名 where 列名 like "ale_";  匹配以某某开头的一个字符

e. 限制取几条

select * from 表名 limit 索引偏移量,取出多少条数据;

f. 排序

select * from 表名 order by 列名 desc/asc;

多列的时候逗号隔开,表示 如果前一列的值相等的话, 会按照后一列的值进行进一步的排序

g. 分组

select age, 聚合函数(count(num)/sum(num)/max(num)/min(num)/avg(num)) from 表名 group by 列名;

having 可以多group分组后的数据进行二次删选

where 和 having的区别:

1). having与where类似,可筛选数据
2). where针对表中的列发挥作用,查询数据
3). having针对查询结果中的列发挥作用,二次筛选数据, 和group by配合使用

h.左连接

select * from 左表名 left join 右表名 on userinfo.depart_id=department.id;

左边的表全部显示, 右边没有用到不显示

 

转载于:https://www.cnblogs.com/huanghongzheng/p/11051470.html

你可能感兴趣的文章
开发中新游戏《庞加莱》
查看>>
MATLAB 向量
查看>>
MVC3+EF4.1学习系列(一)-------创建EF4.1 code first的第一个实例(强转)
查看>>
JavaMail 邮件发送
查看>>
centos下安装apache + subversion(转)
查看>>
tomcat报 Context [] startup failed due toprevious errors
查看>>
人际心理学
查看>>
系统设计与架构笔记:ETL工具开发和设计的建议
查看>>
Android UI Button 和GridView 的设计--优化(2)
查看>>
Android之解析Android Map地图返回的Json数据
查看>>
超大磁盘分区工具parted使用介绍(一)
查看>>
数据还原到指定时间点的处理示例
查看>>
/usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux)
查看>>
convertView&setTag方法的一点理解
查看>>
SSAS使用时间智能解决本年累计、同比、环比【转载】
查看>>
SQL Server-流程控制 5,Goto 语句
查看>>
使用Qt编写模块化插件式应用程序
查看>>
[转]大三下,我们该做什么?一篇被转万次的日志,你值得一看
查看>>
print_r() 'ThinkPHP\Common\common.php 601
查看>>
关于empty函数的判断
查看>>