mysql常用语句

 

 

# 数据库类型
- 关系型数据库:mysql,oracle,sql server
- 非关系型数据库:memacach,redis,mongdb等

# mysql数据库的基本用法
## mysql数据类型
### 整型
- tinyint:占位1字节
- smallint:2
- mediumint:3
- int:4
- bigint:8
### 浮点型
- 小数使用,但是由于四舍五入,所以不精确
- float(m,d):4
- double(m,d):8
### 定点型
- 精确
- decimal(m,d):m代表总长度,d代表小数长度
### 字符串类型
- 以下字符串表示长度由小依次变大
- char:定长字符串
- varchar:变长字符串
- tinytext:短文本字符串
- text:长文本数据
- mediumtext:中等长度文本数据
- longtext:极大文本数据
### 时间类型
- DATE:YYYY-MM-DD
- TIME:HH:MM:SS
- YEAR:YYYY
- DATETIME:YYYY-MM-DD HH:MM:SS
- TIMESTAMP:YYYYMMDDHHMMSS:时间戳,方便,常用
## 字段名的修饰
### 列名的修饰
- unsigned(无符号)
- auto_increment(自增)
- default(默认值)
- comment(字段解释说明)
- not null(非空)
- unique(索引)
- index(索引)
- primary key(主键) auto_increment必须制定为primary key
## sql运算符
- = != <> OR或者|| AND且&& BETWEEN..AND.. IN NOT IN
## sql语句的分类
- DDL:数据定义语言,创建删除修改库表的结构
- DML:数据操作语言,增删改表的记录
- DCL:用户创建以及授权
- DQL:数据查询语言,查询数据
# mql数据库之DDL
## 数据库操作
- use database 数据库名:使用数据库
- create database 数据库名:创建数据库
- drop database 数据库名:删除数据库
## 数据表操作
- create table 数据表名(字段名,字段类型):创建数据表
- show tables :列出所有数据表
- desc 表名:查看表结构
- drop table 表名:删除表
- alter table 表名 modify 字段名 字段类型 :修改表结构
- change:修改表名
- add:添加字段
- ALTER TABLE user10 MODIFY email VARCHAR(200) NOT NULL DEFAULT 'a@a.com';-修改user10的email字段属性
- ALTER TABLE user10 MODIFY card CHAR(10) AFTER test;-将card移动到test后面
- ALTER TABLE user10 MODIFY test CHAR(32) NOT NULL DEFAULT '123' FIRST;- 把tset放到第一位
- ALTER TABLE user10 CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';-将tset字段改为test1
- alter table 表名 drop 字段名 :删除字段
- alter table 表名 rename to 新表名:修改表名
# DML
- 插入:insert into 表名 (列1,列2,列3...) values (值1,值2,值3...)
- 更新:update 表名 set 列1=值1,列2=值2 where 条件---不加where会修改所有记录
- 删除:delete from 表名 where 条件---不加where就会删除所有记录
- truncate:也是删除,而且会重置id
# DCL
- mysql -uroot -p
- use mysql;
- show tables;
- select user,host,authentication_string from user:查询用户名,主机地址,密码
- delete from user where user=...删除用户
- update user set password=新密码 where user=...:修改密码
- 刷新权限:flush privileges;
# DQL
## 查询
- select 列名1,列名2... from 表名 where 条件---不加where会把所有记录查出来
- select distinct(字段名) from 表名:过滤重复数据
- select concat_ws('分隔符'字段名,字段名)as 别名 from 表名;数据连接,将数据以连接的形式展现出来。
- select 列名 from 表名 where 字段名 like ‘条件:模糊查询’
- 'ja%':以ja开头的数据
- '%ck':以ck结尾的数据
- '%np%':内容包含np的数据.yy
## 排列
- select * from 表名 order by 字段名 asc :(升序 默认 可不加)
- select * from 表名 order by 字段名 desc :(降序)
## 聚合函数
- select count(*) from 表名:查询表的记录数
- select sum(列名) from 表名:查询此列的和
- select avg(列名) from 表名:查询此列的平均值
- select max(列名) from 表名:查询此列的最大值
- select min(列名) from 表名:查询此列的最小值
## 分组查询
- select * from 表名 group by sex :按照性别分组
- select * from 表名 group by sex HAVING count(*) > 3

原文地址:https://www.cnblogs.com/onesea/p/13521831.html