总结:mysql的各种增删改查!

(原创总结)分为数据库的增删改查数据表(和字段)的增删改查数据的增删改查 三部分!
// 创建用户并授权
GRANT SELECT ON bodydb.user TO us@localhost IDENTIFIED BY '123456';

//GRANT 权限 ON 数据库.[数据表] TO 用户名@登录主机 IDENTIFIED BY ‘密码’;

// all代表接受所有操作,比如 select,insert,delete....; *.* 代表所有库下面的所有表;% 代表这个用户允许从任何地方登录;为了安全期间,这个%可以替换为你允许的ip地址;

// 删除用户
// 0.登录root账户
// 1.*进入mysql数据库
2.delete from user where User = 'user' and Host = 'localhost';


// 导入数据库
// 1.进入数据库路径的bin目录下,打开对应路径的cmd
// Mysql [-h 主机地址] -u 用户名 -p密码 库名 < sql文件
2.MYSQL -u root -p DEMO < sql.sql;

// 导出数据库
// 1.进入数据库路径的bin目录下,打开对应路径的cmd
// MYSQLDUMP [-h 主机地址] -u 用户名 -p密码 库名 [表名] > 导出的文件名
MYSQLDUMP -h localhost -u root -p DEMO > sql.sql;

//库的增删 选 查
// 增
CREATE DATABASE `demo`;
CREATE DATABASE IF NOT EXISTS `demo`;//防重复后报错
CREATE DATABASE `demo` DEFAULT CHARSET=UTF8;//设置字符集

// 删
DROP database `demo`;

// 查
SHOW DATABASES; //查看所有数据库
SELECT DATABASE();//查看当前数据库

// 选
// USE demo;

// 表的操作和字段的增删改查
// 表的创建
CREATE TABLE `DEMO`(
id int(10) unsigned not null auto_increment primary key,
name varchar(16) not null,
sex varchar(2) not null,
age tinyint(3) unsigned not null,
classid char(6) not null)engine=MYISAM default charset='utf8';

// 表的备份
CREATE TABLE DEMOSS SELECT * FROM DAMO;
// 注意:该备份语句能够备份所有的表结构以及数据,但是不能备份过来的是主键以及自增

// 表的删除
drop table demo;

// 表的查找
show tables;//查找所有表
show create table demo; //查找建表语句
show create table demo\G; //查找建表语句 格式化

//表的修改 = 字段的增 删 改
//改表名
alter table demo rename demos;

//修改表的默认值
ALTER TABLE DEMO ENGINE= INNODB;
ALTER TABLE DEMO DEFAULT CHARSET=GB2312;

// 备份
create demoss select * from demo;

//字段的增加
ALTER TABLE demo ADD ADDTIMES VARCHAR(10) NOT NULL FIRST;//在第一个位置
ALTER TABLE demo ADD addtime VARCHAR(10) NOT NULL DEFAULT '小屁孩' AFTER id;//指定在某个字段的后面

// 删除字段
ALTER TABLE DEMO DROP MUNAN;
ALTER TABLE DEMO DROP MUNAN,DROP ADDTIMES;//批量删除

// 修改字段名和约束
ALTER TABLE DEMO CHANGE classid classname CHAR(30) NOT NULL;

// 查看字段
desc demo;

//数据的增删改查
// 增,插入数据
// 插入单条数据
INSERT INTO DEMO(id,name,sex,classname,age) VALUES(1,'da',0,'1-2',16);
INSERT INTO DEMO VALUES(null,'da',0,16,'1-2');
// 插入多条数据
INSERT INTO DEMO(id,name,sex,classname,age) VALUES(3,'er',0,'1-2',16),(4,'san',1,'1-3',22);
INSERT INTO DEMO VALUES(null,'liu',2,26,'1-4'),(null,'wu',3,36,'1-4');

// 删除数据
delete from demo where id=3;
// 注意:删除数据必须添加条件


// 修改数据
UPDATE DEMO SET NAME='OBJ' WHERE ID = 2;
// 注意:修改数据必须添加条件

// 查找数据
SELECT * FROM DEMO;
SELECT ID,NAME,SEX FROM DEMO;

// 条件查询
SELECT ID,NAME,SEX,AGE FROM DEMO WHERE AGE > 23;

// AND 和
SELECT ID,NAME,SEX,AGE FROM DEMO WHERE AGE > 23 AND AGE<35;

// OR 或者
SELECT ID,NAME,SEX,AGE FROM DEMO WHERE AGE < 20 OR AGE>30;

// IN() 指定多个查询
SELECT * FROM DEMO WHERE ID IN(1,3,5);

// NOT IN() 选出不是指定的内容
SELECT * FROM DEMO WHERE ID NOT IN(2,4,5);

// BETWEEN 指定范围的内容
SELECT * FROM DEMO WHERE ID BETWEEN 2 AND 5;

// 模糊查询 LIKE
SELECT * FROM DEMO WHERE NAME LIKE '%O%';//任何有O的内容
SELECT * FROM DEMO WHERE NAME LIKE 'O%';//以O开头的内容
SELECT * FROM DEMO WHERE NAME LIKE '%O';//以O结尾的内容
SELECT * FROM DEMO WHERE NAME LIKE '_O%';//第二个为O的内容

//ORDER BY 数据排序 正序(ASC) 倒序(DESC)
SELECT * FROM DEMO ORDER BY ID DESC;//倒序

SELECT * FROM DEMO ORDER BY age ASC;//正序

// 按照age倒序排序 age相等时按照sex倒序排序,sex相等时按照id正序
SELECT * FROM DEMO ORDER BY age DESC,sex DESC,id ASC;

//限制查询 LIMIT (从0开始算起,去多少条)
SELECT * FROM DEMO LIMIT 2;//取多少条
SELECT * FROM DEMO LIMIT 2,3;//从第几条开始,取多少条

// GROUP BY 分组查询
SELECT CLASSNAME FROM DEMO GROUP BY CLASSNAME;
SELECT COUNT(*),CLASSNAME FROM DEMO GROUP BY CLASSNAME;//按班级分组

// 多表联合查询
// SELECT 表名1.字段,表名2.字段 FROM 表1,表2 WHERE 表1.字段 = 表2.字段
select demo.name,demo.age,demo.sex,user_info.truename,user_info.phone,user_info.disi FROM DEMO,USER_INFO where demo.id = user_info.uid;

// 统计函数
// count(*) max(age) min(sex)

// 完整性约束
// PRIMARY KEY 主键 //PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
// AUTO_INCREMENT 自增
// NOT NULL 不为空
// NULL 默认,为空
// DEFAULT 默认值
// UNSIGNED 无符号
// ENUM('W','M')枚举
// UNIQUE 唯一
// 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

// 存储引擎
// MYISAM
// INNODB

 

 希望各位路过的大神帮忙补充!谢谢!!

 

posted @ 2018-02-23 16:22  it蛋散  阅读(189)  评论(0编辑  收藏  举报