MySql基础操作大全加案例01
来源:互联网 发布:python 接口 编辑:程序博客网 时间:2024/05/21 17:18
【数据库MySql】作用: 存数据 譬如: 1、你的开房记录 2、银行卡信息 3、身份证信息 数据库包括 1、库 2、表 3、字段 4、数据行【关系型数据库和非关系型数据库】 关系型数据库; MySQL Oracle SqlServer 非关系型数据库 mongDB redis【Sql分类】 DDL create(创建) drop(删除) alter(修改) DML insert(插入) update(修改) delete(删除) DQL(重点) select DCL grant(授权) revoke(跟授权相反) DTL (事务) bengin(开始) commit(提交) rollback(回滚) 如果你在输入mysql -uroot -p 提示你不是内部命令的时候配置你的环境变量 C:\wamp64\bin\mysql\mysql5.7.9\bin【数据连接】 第一种方式(推荐) msyql -uroot -p 密码:如果没有密码直接回车 退出 quit 第二种进入数据库的方式 mysql -uroot -pkungezuishuai 不推荐使用 第三种方式 mysql -hlocalhost -uroot -p 清空dos命令 cls \h 帮助命令 \g 执行当前命令 直接分号一样 \c 结束当前的命令 【查看数据库】 show databases 【创建库】 create database 库名 【删除库】 drop database 库名 【查看你当前所在的库】 select database(); 创建表之前一定要选择库 【查看当前库下面有哪些表】 show tables; 【创建表】 create table 表名(字段1 类型(长度) , 字段2 类型(长度)...........) 【删除表】 dorp table 表名 【查看表结构】 desc 表名 【查看建表语句】 show create table 表名 【修改表字段的值】 alter table 表名 modify 字段(长度) 【修改表字段】 alter table 表名 change 你的表的原来的字段 你要修改成为的字段名 类型(长度) 【删除表字段】 alter table 表名 drop 你要删除的字段 【插入新的字段】 alter table 表名 add 你要添加的字段 【插入字段顺序的问题】 after 在谁谁之后插入 alert table 表名 add 你要插入的字段 类型(长度) after 在哪个字段后面 first 插入最前面 alert table 表名 add 你要插入的字段 类型(长度) first 【修改表名字】 alter table 原来的表名字 rename 新的表名字 【修改表字段顺序】 alter table 表名 modify 原来的字段 first 或者 after 在哪个字段后面 【数据类型】 整型 tinyint int 浮点类型 float(m, d) double(m, d) 字符串类型 (重点) text char 定长 varchar 不定长 面试题常考 数据库里面一般就存时间戳 时间戳 就是整型的数字 int 就可以 【索引】 1、主键名索引 alter table 表名 add primary key(你要给哪个字段添加) 2、唯一索引 alter table 表名 add unique(你要给哪个字段添加) 3、普通索引 alter tale 表名 add index(你要给哪个字段添加); 4、全文索引 整型不能用 alert table 表名 add fulltext(你要给哪个字段添加); 【插入数据】 第一种插入数据的方式 insert into 表名 values(值1,值2,值3........) insert into bbs_user values(2,'程冠希',123,1,0,1234,1231231,260,'河南'); 第二种插入数据的方式(推荐使用) insert into 表名 (字段1 , 字段2 , 字段3 。。。。) values(值1,值2,值3.。。。。) mysql> insert into bbs_user(username,password,province,price) values('谢霆锋','123456','香港',300); 第三种插入方式(多条数据插入。批量插入数据) insert into 表名(字段1,字段2,字段3.。。。。) values(值1,值2,值3.。。。),(值1,值2,值3.。。。),(值1,值2,值3.。。。)...... mysql> insert into bbs_user(username , password , price , province) values('张柏芝','456',500 , '澳门'),('钟欣桐','6666',100,'香港'),('候飞洋','3333',1,'北京'); AUTO_INCREMENT 如果你设置了自动增长,每次会在原来的基础上加1 默认值:如果你设置了默认值,你插入数据的时候没有填值,会用的你 默认值 你填了用你的值 【删除数据】 注意:你在做删除操作的时候谨慎在谨慎,一般情况下不删除数据,一般做伪删除(假删除)-》修改 删除的时候一定要加上条件,测试你的sql语句确定没有问题再删除 delete from 表名 where 条件 mysql> delete from bbs_user where price>1 and price <500; Query OK, 7 rows affected (0.01 sec) mysql> select * from bbs_user; +----+-----------+----------+------+--------+-------+------+-------+----------+ | id | username | password | sex | status | ctime | rip | price | province | +----+-----------+----------+------+--------+-------+------+-------+----------+ | 4 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 6 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 1 | 北京 | | 7 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 9 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 1 | 北京 | | 10 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 12 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 1 | 北京 | | 13 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 15 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 1 | 北京 | | 16 | 张柏芝 | 456 | NULL | 1 | NULL | NULL | 500 | 澳门 | +----+-----------+----------+------+--------+-------+------+-------+----------+ 【修改数据】 update set 表名 原来的字段 = 你想要的值 where 条件 注意:条件一定要加上 mysql> update bbs_user set price = 600 where id = 10; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from bbs_user; +----+-----------+----------+------+--------+-------+------+-------+----------+ | id | username | password | sex | status | ctime | rip | price | province | +----+-----------+----------+------+--------+-------+------+-------+----------+ | 4 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 6 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 1 | 北京 | | 7 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 9 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 1 | 北京 | | 10 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 600 | 澳门 | | 12 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 1 | 北京 | | 13 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 15 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 1 | 北京 | | 16 | 张柏芝 | 456 | NULL | 1 | NULL | NULL | 500 | 澳门 | +----+-----------+----------+------+--------+-------+------+-------+----------+ 【重点中的重点】--查询 * 号一般情况不用 在工作当做或者开发过程中 如果你想用什么数据就查询某个特指的字段 1、根据你特指的某一个字段去进行查询 select 字段1,字段2,字段3 from 表名 mysql> select username,sex,status from bbs_user; +-----------+------+--------+ | username | sex | status | +-----------+------+--------+ | 张柏芝 | NULL | 0 | | 候飞洋 | NULL | 0 | | 张柏芝 | NULL | 0 | | 候飞洋 | NULL | 0 | | 张柏芝 | NULL | 0 | | 候飞洋 | NULL | 0 | | 张柏芝 | NULL | 0 | | 候飞洋 | NULL | 0 | | 张柏芝 | NULL | 1 | +-----------+------+--------+ 2、去除重复值的查询方式 select distinct(你要去重的哪一个字段) from 表名 mysql> select distinct(username) from bbs_user; +-----------+ | username | +-----------+ | 程冠希 | | 谢霆锋 | | 张柏芝 | | 钟欣桐 | | 候飞洋 | +-----------+ 5 rows in set (0.00 sec) 3、配合where条件来使用 select 字段1,字段2,字段3 from 表名 where 条件 mysql> select * from bbs_user where price >300; +----+-----------+----------+------+--------+-------+------+-------+----------+ | id | username | password | sex | status | ctime | rip | price | province | +----+-----------+----------+------+--------+-------+------+-------+----------+ | 4 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 7 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 10 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 13 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | | 16 | 张柏芝 | 456 | NULL | 1 | NULL | NULL | 500 | 澳门 | +----+-----------+----------+------+--------+-------+------+-------+----------+ 5 rows in set (0.00 sec) 4、查询在什么什么区间分为之内 between and select * from 表名 mysql> select username , age from bbs_user where age between 20 and 30; +-----------+------+ | username | age | +-----------+------+ | 程冠希 | 30 | | 张柏芝 | 20 | | 钟欣桐 | 23 | | 钟欣桐 | 30 | | 候飞洋 | 23 | +-----------+------+ 5、查询配合or的用法 mysql> select 字段1 , 字段2.。。 from 表名 where 条件1>500 or 条件2 > 30; +-----------+-------+ mysql> select username , price from bbs_user where price>500 or age > 30; +-----------+-------+ | username | price | +-----------+-------+ | 张柏芝 | 550 | | 钟欣桐 | 100 | | 候飞洋 | 400 | | 候飞洋 | 444 | | 张柏芝 | 500 | | 张柏芝 | 119 | +-----------+-------+ 6、不等于 mysql> select count(*) username from bbs_user where age != 23; +----------+ | username | +----------+ || | 14 | +----------+ mysql> select count(*) username from bbs_user where age <> 23; +----------+ | username | +----------+ | 14 | +----------+ 7、在什么什么里面查询 (通过in可以做嵌套查询 一会再说????) mysql> select username , age from bbs_user where age in(30,23); +-----------+------+ | username | age | +-----------+------+ | 程冠希 | 30 | | 钟欣桐 | 23 | | 钟欣桐 | 30 | | 候飞洋 | 23 | +-----------+------+ 4 rows in set (0.00 sec) 8、模糊查询 like like 什么情况下使用索引 ??? select * from 表名 where 字段 like ‘%’ mysql> select * from bbs_user where province like '河%'; +----+-----------+----------+------+--------+-------+---------+-------+-----------+------+ | id | username | password | sex | status | ctime | rip | price | province | age | +----+-----------+----------+------+--------+-------+---------+-------+-----------+------+ | 1 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南 | 10 | | 2 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南北 | 30 | | 9 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 444 | 河北 | 44 | +----+-----------+----------+------+--------+-------+---------+-------+-----------+------+ 3 rows in set (0.00 sec) mysql> select * from bbs_user where province like '%南%';+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| id | username | password | sex | status | ctime | rip | price | province | age |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| 1 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南 | 10 || 2 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南北 | 30 |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+2 rows in set (0.00 sec)mysql> select * from bbs_user where province like '_南';+----+-----------+----------+------+--------+-------+---------+-------+----------+------+| id | username | password | sex | status | ctime | rip | price | province | age |+----+-----------+----------+------+--------+-------+---------+-------+----------+------+| 1 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南 | 10 |+----+-----------+----------+------+--------+-------+---------+-------+----------+------+1 row in set (0.00 sec)mysql> select * from bbs_user where province like '_南_';+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| id | username | password | sex | status | ctime | rip | price | province | age |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| 2 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南北 | 30 |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+1 row in set (0.00 sec) 9、配合and使用 mysql> select * from bbs_user where price > 200 and price <300;+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| id | username | password | sex | status | ctime | rip | price | province | age |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| 1 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南 | 10 || 2 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南北 | 30 |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+2 rows in set (0.00 sec) or || and && like什么情况下使用索引??? 10、排序 升序 select * from 表名 order by(字段) (如果说你后面什么都不加的情况下默认是升序) || select * from 表名 order by (字段) asc; mysql> select * from bbs_user order by age asc;+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| id | username | password | sex | status | ctime | rip | price | province | age |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| 3 | 谢霆锋 | 123456 | NULL | 0 | NULL | NULL | 300 | 香港 | 1 || 1 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南 | 10 || 13 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | 12 || 14 | 钟欣桐 | 6666 | NULL | 0 | NULL | NULL | 100 | 香港 | 18 || 15 | 候飞洋 | 3333 | NULL | 1 | NULL | NULL | 110 | 北京 | 19 || 7 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 深圳 | 20 || 8 | 钟欣桐 | 6666 | NULL | 0 | NULL | NULL | 100 | 香港 | 23 || 12 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 120 | 北京 | 23 || 2 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南北 | 30 || 11 | 钟欣桐 | 6666 | NULL | 0 | NULL | NULL | 100 | 香港 | 30 || 16 | 张柏芝 | 456 | NULL | 1 | NULL | NULL | 119 | 澳门 | 33 || 4 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 550 | 澳门 | 40 || 9 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 444 | 河北 | 44 || 5 | 钟欣桐 | 6666 | NULL | 0 | NULL | NULL | 100 | 香港 | 50 || 10 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | 56 || 6 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 400 | 北京 | 100 |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+ 11、降序 select * from 表名 order by(字段) desc mysql> select * from bbs_user order by(age) desc;+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| id | username | password | sex | status | ctime | rip | price | province | age |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+| 6 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 400 | 北京 | 100 || 10 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | 56 || 5 | 钟欣桐 | 6666 | NULL | 0 | NULL | NULL | 100 | 香港 | 50 || 9 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 444 | 河北 | 44 || 4 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 550 | 澳门 | 40 || 16 | 张柏芝 | 456 | NULL | 1 | NULL | NULL | 119 | 澳门 | 33 || 2 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南北 | 30 || 11 | 钟欣桐 | 6666 | NULL | 0 | NULL | NULL | 100 | 香港 | 30 || 8 | 钟欣桐 | 6666 | NULL | 0 | NULL | NULL | 100 | 香港 | 23 || 12 | 候飞洋 | 3333 | NULL | 0 | NULL | NULL | 120 | 北京 | 23 || 7 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 深圳 | 20 || 15 | 候飞洋 | 3333 | NULL | 1 | NULL | NULL | 110 | 北京 | 19 || 14 | 钟欣桐 | 6666 | NULL | 0 | NULL | NULL | 100 | 香港 | 18 || 13 | 张柏芝 | 456 | NULL | 0 | NULL | NULL | 500 | 澳门 | 12 || 1 | 程冠希 | 123 | 1 | 0 | 1234 | 1231231 | 260 | 河南 | 10 || 3 | 谢霆锋 | 123456 | NULL | 0 | NULL | NULL | 300 | 香港 | 1 |+----+-----------+----------+------+--------+-------+---------+-------+-----------+------+16 rows in set (0.00 sec) 12、取出来几条数据 select 字段1,字段2.。。 from 表名 limit 0 , 5 这是5叫做偏移量 //只有通过它才可以实现分页 第一页 select * from 表名 limit 0,5; 第二页 select * from 表名 limit 5 , 5、 第三页 10 , 5 第四页 15 , 5 $limit = (n-1)*偏移量 , 5 select * from bbs_user limit $limit;
阅读全文
1 0
- MySql基础操作大全加案例01
- MySql基础操作大全加案例02
- 文件操作案例-大文件加解密
- mysql基础语法大全
- mysql基础语法大全
- mysql 基础大全
- mysql操作大全
- Mysql用户操作大全
- mysql的操作大全
- php操作mysql大全
- MYSQL操作常用命令大全
- mysql操作大全
- MySql操作大全
- mysql语句操作大全
- mysql语句操作大全
- Mysql日期操作大全
- MySql操作命令大全
- mysql时间操作大全
- Linux入门笔记3. shell语法入门
- 浏览器主页被篡改
- 这是我的第一篇博客
- ROS的初步学习(九)--创建一个简单的文本文件msg
- EOS配置教程
- MySql基础操作大全加案例01
- 运用递归函数解决一些实际问题
- Linux文件共享之Samba服务器的配置
- 怎么理解tensorflow中的strides参数
- string和c字符串(char*, char[])
- 关于数据处理
- fastjson和gson解析json数据的区别
- 解决主页被hao.169x.cn/?v=108跳转成者hao123劫持方法
- (笔记)数据结构2.1-线性表及其实现(二)