码迷,mamicode.com
首页 > 数据库 > 详细

mysql的基础命令

时间:2017-11-04 19:30:01      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:表名   rename   msyql   ble   add   情况下   ima   amp   word   

【数据库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;

 

【最简单的查询】

 

关于mysql数据的引擎

myisam (不支持事务 )和 innodb(支持事务) 区别 面试题常考 百度

 

mysql的基础命令

标签:表名   rename   msyql   ble   add   情况下   ima   amp   word   

原文地址:http://www.cnblogs.com/chenyang13677/p/7784033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!