# 数据库类型
- 关系型数据库: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
说明:
日期:2019-03-06 19:43:00
转载自: