MySQL大小写通用。mysql
1、常见用的mysql指令sql
一、show databases; #查看当前全部库函数
二、show tables; #查看所在库中的全部表排序
三、use 库名; #进入该库索引
四、show tables from 库名; #查看其余库中的全部表字符串
五、create table 表名; #建立表数学
六、create database 库名; #建立库it
七、desc 表名; #查看表的结构io
八、select version(); #在库中查看mysql的版本信息table
九、mysql --version 或 mysql --V #不在库中查看mysql的版本信息
2、基础查询
一、select 字段名 from 表名; #查询单个字段
二、select 字段名,字段名 from 表名; #查询多个字段
三、select * from 表名; #查询全部字段
四、select 常量值; #查询常量
五、select 函数名(实参列表); #查询列表
六、select 100/1234; #查询表达式
七、起别名:一、as 二、空格
八、select distinct 字段名 from 表名;
九、select concat(字段名,字段名) from 表名; #拼接,单输出不能是字符串
十、select (is not null)* from employees where is not null; #查询不为空的字段
十一、SELECT * FROM employees WHERE last_name LIKE '%\_n%'; #模糊查询
筛选条件:
&& and 与
|| or 或
! not 非
3、排序查询
select * from employees where job_id < 20 order by salary asc(desc); #升序降序
4、常见函数
一、SELECT CONCAT(last_name,'_',first_name) aaa FROM employees; #拼接concat
二、SELECT LENGTH('aab'); #length转换成数值
三、SELECT UPPER('sdadas'); #upper转换成大写,lower转换成小写
SELECT LOWER('ADSADASD');
四、SELECT SUBSTR('31321',3,2); #substr从左往右截取
五、SELECT TRIM('aa'FROM'aaqqaass'); #trim去重,只能是左右两边
六、SELECT INSTR('aabbcc','c'); #instr返回一个索引值,只为最早出现的那个值
七、SELECT LPAD('abc',6,'dd'); #lpad指定字符,从左填充相应的值(字符总长等于6)
八、SELECT RPAD('abc',6,'dd'); #rpad指定字符,从右填充相应的值(字符总长等于6)
九、SELECT REPLACE('abcdaeaf','a','d'); #replace替换,将a替换成d
5、数学函数
一、SELECT ROUND(-1.66); #round取整
SELECT ROUND(-1.66,1); #取小数后两位
二、SELECT CEIL(1.22); #想上取整
三、SELECT FLOOR(1.33); #向下取整
四、SELECT TRUNCATE(1.6666,1); #truncate截断
五、SELECT MOD(10,3); #mod取余
6、日期函数
一、SELECT NOW(); #返回当前日期+时间
二、SELECT CURDATE(); #返回系统日期
三、SELECT CURTIME(); #返回当前系统时间
四、SELECT YEAR(NOW()); #用于指定部分,年、月、日、时、分、秒
五、SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d'); #将指定的格式转换成日期
六、SELECT DATE_FORMAT(NOW(),'%Y-%c-%d'); #将指定字符转换成字符格式
7、其余函数
一、SELECT VERSION(); #查看版本
二、SELECT DATABASE(); #查看当前所在表
三、SELECT USER(); #查看当前是用什么用户登陆mysql的
8、流程控制函数
一、SELECT IF(10<5,'da','xiao'); #比对大小,加以判断
二、SELECT CASE WHEN salary>3000 THEN '真' ELSE '假' END FROM employees; #与Java的switch同样
10、分组函数
一、SELECT SUM(salary) FROM employees; #sum求和
二、SELECT AVG(salary) FROM employees; #avg求平均
三、SELECT MAX(salary) FROM employees; #max最大值
四、SELECT MIN(salary) FROM employees; #min最小值
五、SELECT COUNT(salary) FROM employees; #count计算个数
11、分组查询
一、SELECT MAX(salary),job_id FROM employees GROUP BY last_name; #进行分组查询
二、SELECT MAX(salary),job_id,salary FROM employees GROUP BY last_name,salary ORDER BY job_id DESC; #也可进行排序
12、链接查询
SQL99
一、SELECT last_name,department_name FROM departments d INNER JOIN employees e ON e.department_id = d.`department_id`; #等值链接(注:必须起别名)
二、非等值链接需复习
三、SELECT e.last_name,m.last_name FROM employees e JOIN employees m ON e.`manager_id`=m.`employee_id`; #自链接
#懒得写了,其余本身补总共有sql92和sql99本身百度
十3、分页查询
#分页查询语句放在最后面!
一、SELECT * FROM employees LIMIT 0,5; #表示显示五行
二、SELECT * FROM employees LIMIT 5,5; #表示显示第五行之后的五行
三、SELECT * FROM employees ORDER BY last_name DESC LIMIT 0,5; #倒序查询第0到第五个参数
十4、DML语言(表中的内容管理)
插入语句:
方式1、为确保数据的连贯性精准性(推荐),sql199
一、INSERT INTO beauty(id,NAME,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`) VALUES(13,'愣头青','男','1996-3-24',13180082088,NULL,2);
#插入语句(insert into 表名(列名,...) values(值1,...)),注意必需要跟表的约束信息一致,如不一致将建立失败
方式2、为先存储后完善(试用与临时保持),添加起来繁乱,sql192
一、INSERT INTO `beauty` SET id=14,NAME='愣头青',phone='999'; #无添加的部分为默认,系统会默认设置!
#插入语法(insert into 表名 set 列名=值1,列名=值2,...),这方法比较简单吧
修改语句:
方式1、修改单个表时用到的方式,简单、易错(按需求来玩),sql192
一、UPDATE `beauty` SET NAME='11223344' WHERE id LIKE'13'; #注:如不添加判断则修改全部表
#左外右外全外链接须要复习
删除语句:(delete、truncate)
方式1、语法:delete from 表名 where 筛选条件
一、DELETE FROM `beauty` WHERE phone=123456789101;
方式2、语法truncate 关键字(一删全删);
一、TRUNCATE jjj; #删除的是表中的全部数据,而不是表(不能使用where判断注意)
十5、DDL语言(库、表的管理)
建立库
方法1、语法:create database (IF NOT EXISTS) 库名
一、CREATE DATABASE oldboy;
二、CREATE DATABASE IF NOT EXISTS oldboy; #检查是否已存在(IF NOT EXISTS)
库的修改(只能修改库名)
方法1、语法:暂时不会....(rename)
删除库
方法1、语法drop database 库名
一、drop database oldboy; #库通常不删除,如要删除请先保存在tmp目录下!作个脚本两年后删除,以防不测
表的建立
方法1、语法create table 表名(
列名 列的类型[(长度)约束条件],
列名 列的类型[(长度)约束条件,
...)
表的修改
#修改列名及约束条件
一、ALTER TABLE employees CHANGE COLUMN last_name last_names VARCHAR(20);
#修改列的类型或约束
一、ALTER TABLE employees MODIFY COLUMN last_names VARCHAR(16);
#添加新列
一、ALTER TABLE employees ADD COLUMN od INT;
#删除列
一、ALTER TABLE employees DROP COLUMN od;
#修改表名
一、ALTER TABLE employees RENAME TO employeesdd;
表的复制
#复制表的结构
一、CREATE TABLE abc LIKE employees; #仅复制表的结构
二、CREATE TABLE qqq SELECT * FROM employees; #复制表的结构加数据
三、create table sss select last_name select employees where 筛选条件; #复制部分数据