mysql的数据库的常见操作
1.查看所有的数据库
show databases;
2.创建数据库 后面的时编码格式
create database dbName charset='utf8';
3.使用/切换数据库
use dbName
4.查看正在使用的数据库
select database();
5.删除数据库
drop database dbName;
MySQL的数据类型
整数类型
整数类型 | 字节数 | 无符合数的取值范围 | 有符合数的取值范围 |
INTYINT | 1 | 0~255 | -128~127 |
SMALLINT | 2 | 0~65535 | -32768~32767 |
MEGIUMINT | 3 | 0~16777215 | -8388608~8388607 |
INT | 4 | 0~4294967295 | -2147483648~2147483647 |
INTEGER | 4 | 0~4294967295 | -2147483648~2147483647 |
BIGINT | 8 | 0~18446744073709551615 | -9223372036854775808-9223372036854775807 |
浮点类型
字符串类型
字符串的常用类型时CHAR和VARCHAR ,下面时他们的区别
插入值 | CHAR(5) | 占用字节数 | VARCHAR(5) | 占用字节数 |
'' | '' | 五个字节 | '' | 一个字节 |
'1' | '1' | 五个字节 | '1' | 两个字节 |
'123' | '123' | 五个字节 | '123' | 四个字节 |
'123 ' | '123 ' | 五个字节 | '123 ' | 五个字节 |
'12345' | '12345' | 五个字节 | '12345' | 六个字节 |
TEXT类型是一种特殊的字符串类型。TEXT只能保存字符数据。如新闻的内容等。
类型包括 TINYTEXT、TEXT、MEDIUMTEXT 和LONGTEXT.
下面将从4中TEXT类型允许的长度的存储空间进行对比
类型 | 允许的长度 | 存储空间 |
TINYTEXT | 0~255字节 | 值的长度+2个字节 |
TEXT | 0~65535字节 | 值的长度+2个字节 |
MEDIUMTEXT | 0~167772150字节 | 值的长度+3个字节 |
LONGTEXT | 0~4294967295字节 | 值的长度+4个字节 |
日期与时间类型
日期类型 | 字节数 | 取值范围 | 零值 |
YEAR | 1 | 1901~2155 | 0000 |
DATE | 4 | 1000-01-01~9999-12-31 | 0000:00:00 |
TIME | 3 | -838:59:59~838:59:59 | 00:00:00 |
DATETIME | 8 | 1000-01-01 00:00:00~9999-12-31 23:59:59 | 0000-00-00 00:00:00 |
TIMESTAMP | 4 | 19700101080001 | 00000000000000 |
表中常见的操作
1.查看当前数据库中的所有数据表
show tables;
2.创建表
create table tablename(字段1 数据类型,字段2 数据类型 ...) [charset set 字符集 collate 校对规则]
3.查看表结构
desc tablename;
4.重命名表
alter table 表原名 rename to 新表明;
5.添加字段
添加字段(默认添加在最后一个位置)
alter table tablename add 字段 数据类型;
添加字段:在表的第一个位置添加字段
alter table tablename add 字段数据类型 first;
添加字段: 在指定的位置添加字段
alter table tablename add 字段 new 数据类型 after 字段old;
6.修改字段
修改字段: 修改字段数据类型
alter table tablename modify 字段 数据类型;
修改字段: 修改字段到第一个位置
alter table tablename modify 字段数据类型 first;
修改字段:修改字段到指定位置
alter table tablename modify 字段数据类型 after 字段;
修改字段:只修改字段名称 不修改数据类型
alter table tablename change 字段 newname 原数据类型;
修改字段 修改字段名称 同时修改数据类型
alter table tablename change 字段 newname 新数据类型;
7.删除字段
alter table tablename drop 字段;
8.删除表
drop table tablename;
查询数据
查询单个列
SELECT 列名称 FROM table;
查询员工的姓名
SELECT ename FROM emp;
查询多个列
SELECT 列1,列2,列3… FROM table;
查询员工的姓名和工作
SELECT ename , job FROM emp;
查询所有列
SELECT * FROM table;
n 查询员工的所有信息
SELECT * FROM emp;
去除重复数据
SELECT DISTINCT 列1,列2… FROM table;
n 查询emp表中有哪些工种
SELECT DISTINCT job FROM emp;
查询中的四则运算
Mysql支持在查询中直接进行四则运算[ +、-、*、/ ]
n 查询每个员工的年薪
SELECT ename,sal*12 FROM emp;
查询用别名
Select 列1 AS 别名1,列2 别名2 … FROM 表;
n 查询每个员工的年薪
SELECT ename 姓名,sal*12 AS 年薪 FROM emp;
排序查询
SELECT * FROM 表 ORDER BY 列1 ASC,列2 DESC…
n 查询员工的姓名和工资,按照工资降序排序
SELECT ename,sal FROM emp ORDER BY sal DESC;
n 按照多个字段排序:查询员工的姓名,入职日期和工资,按照工资升序,入职日期升序排序
SELECT ename,emp.HIREDATE,sal FROM emp ORDER BY sal ASC, emp.HIREDATE ASC;
分页查询
SELECT * FROM table LIMIT start,pagesize;
n 查询员工表的前三条记录
SELECT ename,emp.HIREDATE,sal FROM emp LIMIT 3; -- 取出来前3条记录
n 查询员工表中间的三条记录,从第五条开始取
SELECT ename,emp.HIREDATE,sal FROM emp LIMIT 5,3; -- 5是行号,行号从0开始
n 查询员工表中间的10条记录,从第5条开始取,按照工资升序
SELECT ename,emp.HIREDATE,sal FROM emp ORDER BY sal LIMIT 5,10;
使用全限定的列名查询
SELECT 表1.列1,表1.列2… FROM 表;
n 查询员工姓名和工资
SELECT emp.ename ,emp.sal FROM emp;
查用表别名查询
SELECT a.列1,a.列2… FROM 表 a;
n 查询员工的姓名和工资
SELECT e.ename ,e.sal FROM emp e;
WHERE子句
Select * from 表 where 条件 order by column1…;