MySQL数据库
1、MySQL的启动、关闭和登录
- 启动:net start mysql
- 关闭:net stop mysql
- 登录:mysql -u用户名 -p密码
2、SQL命令语句:(注意以分号;为命令结束)
- 创建数据库:
-create database 数据库名 charset=utf8;
- 查看当前数据库版本:
-select version();
- 显示当前时间
-select now();
- 修改提示符:(改后提示符只表示当前操作,不会一直更改)
-prompt 新提示符>;
- 退出:
-exit;
- 显示数据库:
-show databases;
- 使用数据库
-use 数据库名;
- 查看当前所在数据库
-select database();
- 删除数据库:
-drop database 数据库名
- 显示所有数据表
-show tables;
- 显示创建表的字段结构
-desc 表名;
- 创建表
-create table 表名(字段名1 类型 约束条件,字段名2 类型 约束条件,……);
-类型
varchar(数字) 表示字符串,最多是几个字符;
datetime 表示日期类型,不能超当前和最早;
int 整数。
-约束条件:可有可无
primary key 表示主键
unsigned 表示无符号(数学中的绝对值)
atuo_increment 表示自动增长(当id为0时自动补全)
not null 不能为空
not black 不能为空白
3、表结构的操作
- 添加新字段:
-alter table 表名 add 新字段名 类型 约束条件;
- 修改字段
-alter table 表名 change 原字段名 新字段名;
- 修改约束条件
-alter table 表名 modify 字段名 新约束条件;
- 删除字段
-alter table 表名 drop 要删的字段名;
- 查看创建字段的语句
-show create table 表名;
4、数据操作
- 增加数据
-全部数据增加:insert into 表名 values(满足规则的内容);
-局部添加:insert into 表名 字段名 value(字段的数据);
- 查询数据
-select * from 表名;
这里*表示所有数据 - 修改语句
-update 表名 set 字段名=新内容 where 字段名=要修改的位置;
- 删除数据
-delete from 表名 where 字段名=要删的位置;
5、查询语法
-
查询个别字段
-select 想查的内容 from 表名;
多个内容间用逗号隔开 -
给字段起别名
-select 字段名 as 别名 from 表名;
-
查询不重复的字段(消除重复行)
-select distinct 有重复数据的字段名 from 表名;
-
条件查询 (where后面跟条件 运算符和逻辑运算符都可以用在条件中)
select * from 表名 where 字段名 = “要查的内容”;
-
模糊查询
select * from 表名 where 字段名 like "参数%";
%表示参数后面所有,相当于正则的.*
select * from 表名 where 字段名 like "参数_";
一个下划线表示任意一个
select * from 表名 where 字段名 like "%参数%";
表示查询该字段带此参数的数据 -
范围查询
select * from 表名 where 字段名 in (参数1,参数2,参数3……);
表示查询不连续的
select * from 表名 where 字段名 between 参数1 and 参数2;
表示查询参数1至参数2的数据 -
空判断
-select * from 表名 where 字段名 is
is not表示非空 -
排序 order by (默认正序asc,从小到大)
select * from 表名 order by 字段名
表示正序
select * from 表名 order by 字段名 desc
表示倒序 -
分组 group by
select * from 表名 group by 字段名
以字段名分类,每个分类只显示一个人(非全部)
select group_concat(字段名1),字段名2 from 表名 group by 字段名2 having 条件
表示以字段名2分类,每个分类显示所有字段名1,添加条件用having -
分页 limit
limit 参数
表示限制显示多少条数据
limit 参数1,参数2
参数1 表示跳过参数1,参数2表示显示的个数