数据库基础

创建表

mysql常用数据类型,主要分为三类:数值类型,字符串类型,日期时间类型。
数据类型:int,double,datetime,char(),varchar()
创建表语句
create table [if not exitst] tab_name(
    col_name datatype [comment '注释'],
    col_name datatype [comment '注释']);

表操作-修改DDL

添加列
alter table 表名 add [colum] 字段名 类型;
修改列
alter table 表名 modify [column] 字段名 类型;
修改列名称和类型
alter table 表名 change [column] 原字段名 新字段名 新列类型 [comment 注释] [约束];
删除列
alter table 表名 drop [column] 字段名;
修改表名
rename table 旧名称 to 新名称;
-- 或者
alter table 表名称 rename to 新名称;
删除表
drop table [if exists] 表名;
截断表
truncate table 表名;  #删除表之后会创建一个空表
创建和某表结构一样的表
create table 表名 like 要复制的表;  #当要复制的表不在当前数据库时
create table 表名 like 数据库名.要复制的表名;

数据库管理

插入数据DML
insert into 表名[(字段名称1,字段名称2,字段名称3)] value (value1,value2,value3);
insert into 表名 [(字段名称1,字段名称2,字段名称3)] values (value1,value2,value3);
#若前面没有字段,按默认顺序添加
插入多条数据
insert into 表名 values (),(),();
查询数据DQL
无条件查询
select * from 表名;
等值查询
select * form 表名 where 字段名 = value;
设置列别名
select 字段名 [as] '别名' from 表名 where = 条件;
剔除重复行
select distinct * from 表名;
#只是在显示的时候不显示重复数据,数据未删除
修改数据
update 表名 set 字段 = value where 条件
删除数据
delete from 表名 where 条件;
条件查询
select * from 表名 where 字段 = value;
字段在[value1,value2,value3]任意一个就可以
select * from 表名 where 字段 in (value1,value2,value3);
字段不在[value1,value2,value3]
select * from 表名 where 字段 not in (value1,value2,value3);
条件1和条件2都为true的结果显示出来
select * from 表名 where 条件1 and 条件2;
满足条件1和条件2的结果都可以显示出来
select * from 表名 where 条件1 or 条件2;
算数运算
可以对查询出来的结果进行算数运算
select 字段1+字段2 from 表名;
修改的时候也可以进行算数运算
uodate 表名 set 字段= 字段+value where 条件;
NULL值查询
#NULL值无法通过等值操作查询
#NULL值指的是未填值,注意跟空字符串做区分
select * from 表名 where 字段 is null;
select * from 表名 where 字段 is not null;
模糊查询
_表示一个任意字符 %表示零个或多个任意字符
select * from 表名 where 字段 like 'x_';   # xa xb
select * from 表名 where 字段 like '%x%';  #xa ax axb axbc
select * from 表名 where 字段 like '_x%';  #ax axb axbc
逻辑运算
select * from 表名 where 字段 > value; #where 条件语句里面可以写> < ! =等
排序
order by 对结果集排序
desc 降序
asc 升序 (默认)
select * from 表名 order by 字段1 desc,字段2 asc;
select * from 表名 order by 字段 asc;
分页查询
参数1:起始行;参数2:显示条数
页码n ,页大小s 
limit(n-1)*s,s
select * from 表名 limit 0,2;#从第0行开始显示两条数据
单行函数
length 计算长度
select length('123'); #3
select length(字段) from 表;
upper/lower 大,小写转换
select upper("a"); #A
select upper("A"); #a
concat 字符串拼接
select concat(upper('smith'),'join');
select concat(字段1,字段2) from 表;

备份表结构

mysqldump -u root -p 数据库名 表名 > 地址
mysqldump -u root -p kfm emp >e:/emp.txt

#-d 只备份表结构
mtsqldump -u root -p -d 数据库名 表名 > 地址   
mysqldump -u root -p -d kfm emp > e:/emp.sql

#数据+表结构一起备份
mysqldump -u root -p kfm > e:/kfm.sql

备份多个数据库(不含数据)
mysqldump -u root -p -d --databases kfm sdd > e:/kfmandsdd.sql
备份所有数据库
mysqldump -u root -p -A > e:/alldatabases.sql
备份多个数据库和结构
mysqldump -u root -p --databases kfm sdd >e:/kfmandsdd2.sql
将查询结果集保存为文件
mysqldump -u root -p "select * from kfm.dept" > e:/kfmdeptdata.sql
还原数据结构和数据
mysql -u root -p 数据库名 < e:/kfm.sql
#在服务器外面
source 地址;
#登录选中数据库之后执行,还原数据,SQL语句
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值