查看数据库版本:select version();
查看数据库编码:show variables like 'char%';
创建数据库:create database 库名 character set utf8;
展示数据库:show databases;
选择使用某一个数据库:use 数据库名;
展示数据库里所有的表:show tables;
查询表结构:desc 表名;
插入语句:insert into 表名 values(值、、、)
查询表信息:select * from 表名;
创建一个表:字段,字段的数据类型
create table 表名(
->字段名1 数据类型(字段约束条件) 列的约束,
->字段名2 数据类型(字段约束条件) 列的约束,
->字段名3 数据类型(字段约束条件) 列的约束,
->);
删除表(一个或多个)
DROP TABLE stu;
DROP TABLE [IF EXISTS] stu,emp;
Mysql中的数据类型:
数值类型:
int普通整数,4字节
double双精度浮点型,8字节
decimal严格的定点数值
字符串类型:
varchar可变长度字符串
char固定长度字符串
enum枚举类型,1个或2个字节
日期\时间类型:
year年 年YYYY
date日 年月日 YYYY-MM-DD
Time时间 时分秒 HH:MM:SS
datetime,8字节,可以存入一个固定时间,YYYY-MM-DD HH:MM:SS
timestamp,4字节,本身存储的数据是从1970-1-1到2038的所有时间数据,可以自动更新当前时间。
DQL语言(数据查询语言select)
1.基础查询
查询所有表信息:
select * from 表名;
查询相关字段数据
SELECT 字段1,字段2,字段3... FROM 表名;
特点:
通过这样的查询可以查询到表中所有字段、常量、函数、表达式...
结果是一个虚拟的表格
2.去重查询
查询某字段中去除重复信息后数据
SELECT DISTINCT 字段 FROM 表名;
3.条件查询
SELECT 查询列表 FROM 表名 WHERE 筛选条件;
条件判断符:
=、<、>、!=、<=、>=
逻辑运算符:
&&、||、!
AND 并且
OR 或
NOT 相反
例:
查询表中成绩在70-90之间的所有数据
SELECT * FROM 表名 WHERE 字段 BETWEEN 70 AND 90;
查询score表成绩是80,78,70的所有数据
SELECT * FROM 表名 WHERE 字段=值 OR 字段=值 OR 字段=值;
查询student表中性别为女的所有数据
SELECT * FROM 表名 WHERE 字段='女';
查询student表中性别为女以及班名为17033的所有数据
SELECT * FROM 表名 WHERE 字段=值 OR 字段=值;
4.模糊查询
LIKE
特点:一般情况下和通配符搭配使用
%任意多个字符,包含0个字符
_任意单个字符
BETWEEN...AND...位于两值之间(模糊查询条件语句)
特点:
1.可以提高语句的简洁度
2.包含临界值
3.两个临界值不要调换位置
IN(set) 包含,判断某个字段的值是否属于in列表中的某一项
SELECT * FROM 表名 WHERE 字段 IN(数值1,数值2、、、);
特点:
1.提高语句的简洁度
2.in列表中的数据值类型必须一致
3.in列表的值不支持通配符
IS NULL 为空 IS NOT NULL不为空
注意:=和!=不能够判断null值
安全等于"<=>"可以表示
5.查询常量值
SELECT 常量值;
6.查询表达式:
SELECT 表达式;
表达式+注意事项
SELECT 100%98;-----------2 求模取余
SELECT NULL+10;----------NULL 只要其中一个加号是null,则结果肯定是null
SELECT '123'+98;---------221 其中一个数是字符串类型,字符串转换成功则做加法运算
字符串转换不成功则转换成0继续做加法运算
SELECT 100 + 98;---------198 操作数都是数值型的话做加法运算
7.起别名:
1)便于理解
2)如果需要查询的字段有重名的现象,使用别名就可以区分开来
使用关键字AS或者空格
8.排序查询
语法:
SELECT * FROM 表名
WHERE 筛选条件
ORDER BY 排序的字段或者表达式 DESC;
特点:
1.DESC代表降序,ASC升序
2.order by是可以支持单个字段、别名、表达式、函数
3.写在查询语句最后面,除了limit字句