MySql常用命令

       由于Mysql处于开源状态,加上机缘巧合之下,便接触了MySql数据库。 之前本科的时候学过了SQL Server, 所以上手MySQL也很容易(可能是自己接触的部分超级简单吧,哈哈~自high一下)。下面看下今天的主题:

1.PRIMARY KEY 和 UNIQUE KEY 的区别

       PRIMARY KEYs(主键):(1)每一行数据独一无二的标识(2)一个表必须有主键(只能有一个主键)(3)不能为NULL(空值)(4)由一列或者多列组成。
       UNIQUE KEY : (1)表示该项数据不能重复 (2)允许一条可以为NULL
       相同点:(1)PRIMARY KEY 和 UNIQUE KEY 都是用来保证列上数据的为原型 (2)都可以在一列或者多列上加
       总结:一张表只能有一个 PRIMARY KEY,但可以有很多 UNIQUE KEY。 当给一列设置为 UNIQUE KEY 之后,该列上不能有相同的数据。 PRIMARY KEY 不允许有 NULL值,但是 UNIQUE KEY 可以。如果 PRIMARY KEY 的1个或多个列为NULL,在增加PRIMARY KEY时,列自动更改为 NOT NULL 。而UNIQUE KEY 对列没有要求是通过参考索引实施的,如果插入的值均为NULL,则根据索引的原理,全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的,而其他的则不能插入重复值。
       顺带说一下Foreign key(外键),它表示这列数据引用了另外一个表的主键。

2.增删改查命令

       (1)创建表

create table tablename(
col_name_1   type  not null    auto_increment,
col_name_2   type  default,
primary key(col_name_n)
);

       (2)插入

insert into tablename(col_name_1,col_name_2,col_name_3)
values(value1, value2, value3, value4, value5);

       (3)更新(修改)

update tablename set col_name_1 = value, col_name_2 = value where condition;

       (4)删除

delete from tablename where condition;

       (5)查询

select column_list from tablename 
where filter_condition  //条件
order by column_list (desc) //升序还是降序
limit rom_limit; //结果限制

       注意:在查询的适合,可以通过as修改这一列的列名,但无法修改真实表的列名。

       (6)Where条件

1)数字 >大于 <小于 =等于 ≥大于等于 ≤小于等于 <>不等于

2)字符串 = ‘’ >大于 <小于 =等于 ≥大于等于 ≤小于等于 <>不等于 !=不等于

3)逻辑操作 and与 or或 not非 注意: and的优先级大于or
where condition1 and condition2 or condition3;//是否同时满足条件1,2或者满足条件3

4)范围判断 
where col_name in (范围1, 范围2, ...); //在该范围内
where  col_name  not in(范围1, 范围2, ...); //不在该范围内
where  col_name  between 范围1 and 范围2; // 介于范围1与范围2之间的数据
eg:where col_name between 1 and 9; //取得[1,9]之间的数据
where col_name not between 范围1 and 范围2;// 不介于范围1与范围2之间的数据
where col_name like 表达式;(not like) //模糊查询
eg1:where col_name like 'a%'; //%代表0个或多个任意字符
eg2:where col_name like 'a_'; //_代表1个任意字符

5)关于NULL的条件 is NULL is not NULL 注意:is仅用is null 或 is not null.

3.常用SQL命令

show databases; //查看所有数据库
desc tablename; //查看表结构
drop table tablename; //删除指定表
drop database databasename; //删除指定数据库
select * from tablename limit x; //查询前x条数据
select * from tablename limit x1,x2;//删除前x1条数据,从x1+1开始查询x2条数据 用于分页查询
select distinct col_name from tablename; //去掉该列重复的值

4.SQL中的静态值

学习文档:https://dev.mysql.com/doc/refman/8.0/en/functions.html
select 'some string';
select 1+1; //加法运算
select now(); //获取当前系统具体时间
select curdate();//获取当前日期
select curtime();//获取当前系统时间;
select pi(); //Π值
select mod(45,7); //取余
select sqrt(25); //开方
select round(4.5); //四舍五入  5
select round(col_name, x); //四舍五入保留x位小数
eg: select round(4.44, 1); //四舍五入保留1位小数 4.4
select floor(45.23); //直接舍弃小数 45
select ceiling(45.23); //直接入 46

5.SQL中的数学运算

select 7*8; //56
select 7/8; //0.8750
select 7 div 8; //0
select 7.1%8; //7.1
select 7.1 mod 8; //7.1
select 7+8; //15
select 7-8; //-1

6.SQL中的字符串操作

select concat(col_name_1,col_name_2,...); //将参数里面所有字符串连接起来
select left(col_name_1,x); //取得改字符串前x个字符
select length(col_name); //获取该列字符串的长度
select reverse(col_name); //获取该列字符串的逆序字符串
select repalce(col_name, str1 , str2); //将该列字符串的指定字串str1替换成str2
//日期操作
select data_format(col_name, '%y/%m/%d'); //将日期列按照年月日的格式输出;
//若想其它格式输出则参考 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format
select quarter(date) //返回季节 返回值为1~4

7.Mysql数据库备份与恢复

备份(Data Export):
       (1)Export to Dump Project Folder :按照单个表的格式进行导出
       (2)Export to Self-Contained File: 将整个数据库导出为一个sql文件 (优先考虑)
恢复(Data Import/Restore):怎样导出就怎样导入
       (1)按照导出方式选择对应的导入方式
       (2)点击New DB 新建一个目标数据库
       (3)点击开始导入按钮

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值