mysql命令整理

Posted 缘分天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql命令整理相关的知识,希望对你有一定的参考价值。

MySQL大小写通用。

一、常见用的mysql指令

1、show databases;   #查看当前所有库

2、show tables;   #查看所在库中的所有表

3、use 库名;   #进入该库

4、show tables from 库名;   #查看其他库中的所有表

5、create table 表名;   #创建表

6、create database 库名;   #创建库

7、desc 表名;   #查看表的结构

8、select version();   #在库中查看mysql的版本信息

9、mysql --version 或 mysql --V   #不在库中查看mysql的版本信息

二、基础查询

1、select 字段名 from 表名;   #查询单个字段

2、select 字段名,字段名 from 表名;   #查询多个字段

3、select * from 表名;   #查询所有字段

4、select 常量值;   #查询常量

5、select 函数名(实参列表);   #查询列表

6、select 100/1234;   #查询表达式

7、起别名:1、as 2、空格

8、select distinct 字段名 from 表名;

9、select concat(字段名,字段名) from 表名;   #拼接,单输出不能是字符串

10、select (is not null)* from employees where is not null;   #查询不为空的字段

11、SELECT * FROM employees WHERE last_name LIKE ‘%\_n%‘;   #模糊查询

筛选条件:

&& and 与

|| or 或

! not 非

三、排序查询

select * from employees where job_id < 20 order by salary asc(desc);   #升序降序

四、常见函数

1、SELECT CONCAT(last_name,‘_‘,first_name) aaa FROM employees;   #拼接concat

2、SELECT LENGTH(‘aab‘);   #length转换成数值

3、SELECT UPPER(‘sdadas‘);   #upper转换成大写,lower转换成小写
SELECT LOWER(‘ADSADASD‘);

4、SELECT SUBSTR(‘31321‘,3,2);   #substr从左往右截取

5、SELECT TRIM(‘aa‘FROM‘aaqqaass‘);   #trim去重,只能是左右两边

6、SELECT INSTR(‘aabbcc‘,‘c‘);   #instr返回一个索引值,只为最先出现的那个值

7、SELECT LPAD(‘abc‘,6,‘dd‘);   #lpad指定字符,从左填充相应的值(字符总长等于6)

8、SELECT RPAD(‘abc‘,6,‘dd‘);   #rpad指定字符,从右填充相应的值(字符总长等于6)

9、SELECT REPLACE(‘abcdaeaf‘,‘a‘,‘d‘);   #replace替换,将a替换成d

五、数学函数

1、SELECT ROUND(-1.66);   #round取整
   SELECT ROUND(-1.66,1);   #取小数后两位

2、SELECT CEIL(1.22);   #想上取整

3、SELECT FLOOR(1.33);   #向下取整

4、SELECT TRUNCATE(1.6666,1);   #truncate截断

5、SELECT MOD(10,3);   #mod取余

六、日期函数

1、SELECT NOW();   #返回当前日期+时间

2、SELECT CURDATE();   #返回系统日期

3、SELECT CURTIME();   #返回当前系统时间

4、SELECT YEAR(NOW());   #用于指定部分,年、月、日、时、分、秒

5、SELECT STR_TO_DATE(‘1998-3-2‘,‘%Y-%c-%d‘);   #将指定的格式转换成日期

6、SELECT DATE_FORMAT(NOW(),‘%Y-%c-%d‘);   #将指定字符转换成字符格式

七、其他函数

1、SELECT VERSION();   #查看版本

2、SELECT DATABASE();   #查看当前所在表

3、SELECT USER();   #查看当前是用什么用户登录mysql的

八、流程控制函数

1、SELECT IF(10<5,‘da‘,‘xiao‘);   #比对大小,加以判断

2、SELECT CASE WHEN salary>3000 THEN ‘真‘ ELSE ‘假‘ END FROM employees;   #与Java的switch一样

十、分组函数

1、SELECT SUM(salary) FROM employees;   #sum求和

2、SELECT AVG(salary) FROM employees;   #avg求平均

3、SELECT MAX(salary) FROM employees;   #max最大值

4、SELECT MIN(salary) FROM employees;   #min最小值

5、SELECT COUNT(salary) FROM employees;   #count计算个数

十一、分组查询

1、SELECT MAX(salary),job_id FROM employees GROUP BY last_name;   #进行分组查询

2、SELECT MAX(salary),job_id,salary FROM employees GROUP BY last_name,salary ORDER BY job_id DESC;   #也可进行排序

十二、连接查询

SQL99
1、SELECT last_name,department_name FROM departments d INNER JOIN employees e ON e.department_id = d.`department_id`;   #等值连接(注:必须起别名)

2、非等值连接需复习

3、SELECT e.last_name,m.last_name FROM employees e JOIN employees m ON e.`manager_id`=m.`employee_id`;   #自连接

#懒得写了,其他自己补总共有sql92和sql99自己百度

十三、分页查询

#分页查询语句放在最后面!

1、SELECT * FROM employees LIMIT 0,5;   #表示显示五行

2、SELECT * FROM employees LIMIT 5,5;   #表示显示第五行以后的五行

3、SELECT * FROM employees ORDER BY last_name DESC LIMIT 0,5;   #倒序查询第0到第五个参数

十四、DML语言(表中的内容管理)

插入语句:

方式一、为确保数据的连贯性精准性(推荐),sql199

1、INSERT INTO beauty(id,NAME,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`) VALUES(13,‘愣头青‘,‘男‘,‘1996-3-24‘,13180082088,NULL,2);

#插入语句(insert into 表名(列名,...) values(值1,...)),注意必须要跟表的约束信息一致,如不一致将创建失败

方式二、为先存储后完善(试用与临时保持),添加起来繁乱,sql192

1、INSERT INTO `beauty` SET id=14,NAME=‘愣头青‘,phone=‘999‘;   #无添加的部分为默认,系统会默认设置!

#插入语法(insert into 表名 set 列名=值1,列名=值2,...),这方法比较简单吧

修改语句:

方式一、修改单个表时用到的方式,简单、易错(按需求来玩),sql192

1、UPDATE `beauty` SET NAME=‘11223344‘ WHERE id LIKE‘13‘;   #注:如不添加判断则修改所有表

#左外右外全外连接需要复习

删除语句:(delete、truncate)

方式一、语法:delete from 表名 where 筛选条件

1、DELETE FROM `beauty` WHERE phone=123456789101;

方式二、语法truncate 关键字(一删全删);

1、TRUNCATE jjj;   #删除的是表中的所有数据,而不是表(不能使用where判断注意)

十五、DDL语言(库、表的管理)

创建库

方法一、语法:create database (IF NOT EXISTS) 库名

1、CREATE DATABASE oldboy;

2、CREATE DATABASE IF NOT EXISTS oldboy;   #检查是否已存在(IF NOT EXISTS)

库的修改(只能修改库名)

方法一、语法:暂时不会....(rename)


删除库

方法一、语法drop database 库名

1、drop database oldboy;   #库一般不删除,如要删除请先保存在tmp目录下!做个脚本两年后删除,以防不测


表的创建

方法一、语法create table 表名(
列名 列的类型[(长度)约束条件],
列名 列的类型[(长度)约束条件,
...)

表的修改

#修改列名及约束条件
1、ALTER TABLE employees CHANGE COLUMN last_name last_names VARCHAR(20);

#修改列的类型或约束
1、ALTER TABLE employees MODIFY COLUMN last_names VARCHAR(16);

#添加新列
1、ALTER TABLE employees ADD COLUMN od INT;

#删除列
1、ALTER TABLE employees DROP COLUMN od;

#修改表名
1、ALTER TABLE employees RENAME TO employeesdd;

表的复制

#复制表的结构
1、CREATE TABLE abc LIKE employees; #仅复制表的结构

2、CREATE TABLE qqq SELECT * FROM employees; #复制表的结构加数据

3、create table sss select last_name select employees where 筛选条件; #复制部分数据

以上是关于mysql命令整理的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基本命令整理,java数据库秘籍!

整理 linux命令

mysql命令整理

mysql常用命令整理

MySQL 命令整理1

mysql命令整理