7.21 MySQL学习总结

MySQL常用指令:
1.命令行启动mysql :

c:/>mysql -h hostname -u root -p
或 
c:/>mysql -u root -p root (密码)
或
c:/>mysql -uroot -proot (密码)

(windows平台 需要将mysql加入Path环境变量中)

启动.png

(-p 后接密码后回车 也可以 回车后输入密码)
若连接本地数据库 -h hostname 改为 -h localhost 或者省略-h hostname(即为mysql -u root -p)
若连接远端服务器的数据库 -h hostname 改为 -h + 192.168.X.X (远程服务器的IP地址)

2.查看mysql的帮助:

c:/> mysql --help
mysql 帮助.png

3.查看现在时间:

select current_date;
select now();
mysql now() 函数.png
mysql current_date 命令.png

mysql是一个数据库软件 数据库是表的集合
mysql里面可以有很多数据库(可以理解为很多表的集合)

4.显示mysql里面有多少数据库:

show databases;
show databases.png

5 sql注释语句:

mysql > -- 注释内容

注意 -- 和注释之间有个空格!

sql注释.png

6 创建数据库:
create database 数据库名称

mysql > create database mybase;
创建数据库.png

7 删除数据库:
drop database 数据库名称:

mysql > drop database mybase;
删除数据库.png

8 使用指定的数据库:
use + 指定的数据库名称

mysql > use myhive;
使用指定的数据库.png

9 指定数据库后显示数据库中所有表:

mysql > show tables;
显示数据库中所有表.png

Empty set 标识表空

10 在数据库中创建表:

创建表.png
创建表.png

11 查看数据表:

mysql > show create table test;
mysql > desc test;
mysql > describe test;

(test 为一个表名)

查看数据表方式1.png
查看数据表方式2.png
show table.png

查看表结构:


desc.png

12 删除表:

mysql > drop table test;
删除表.png

13 查询表数据:

mysql > select * from test;

(全字段 全表扫描)

或者:

mysql > select id,name from test;

(部分字段查询 投影查询)

查表.png

条件查询 查id>3的字段:


QQ图片20170721195558.png

其他查询注意:


运算符.png
条件查询.png
in关键字.png
between and.png
空值查询.png
distinct.png
like关键字.png
下划线.png

14 插入记录:

mysql > insert into test(id,name,age) values(1,'wang',23);
QQ图片20170721194722.png

或插入部分字段数据:

mysql > insert into test(id,name) values(1,'wang');
insert into.png

若插入全部字段可以简写:

mysql > insert into test values(1,'wang',59);
全部字段简写插入命令.png

15 更新记录:

更新1.png
更新2.png
mysql > update test set grade=11 where id = 2;
更新.png

16 删除记录:

mysql > delete from test where id=1;
删除记录.png

注意,若:

mysql > delete from test;

则会把所有记录删除,要谨慎!

小总结:
CRUD:

create:
insert into table_name(field_name,...) values(value,...);

retrieve:
select id ,... from table_name where id=xxx,...;

update:
update table_name set id=xxx,... where id=xxx,...;

delete:
delete from test where ...;

MySQL约束:

1 primary key 主键
主键特点:不为null 不能重复

mysql > create table test(id int primary key,...);

2 自增

mysql > create table test(id int primary key auto_increment,...);

自增是查询到最大值后+1

3 不能为空 not null:

mysql > create table test(id int primary key auto_increment, name varchar(20) not null, age int);

4 带条件创建 删除:

// 带条件创建
mysql > create database if not exists itcast;
mysql > create table if not exists test;
// 带条件删除
mysql > drop database if exists itcast;
mysql > drop table if exists test; 

设一个字段为空值:

update test set name=null where id=3;
设空值.png

注意:需要在设计表中允许name字段为空 才能在客户端用指令设置空值

设计表设允许空.png

设置字段为null后 我们来查询为null的字段:


null.png

可见查询 null 比较特殊 不能用:

mysql > ... where name=null;

而应该:

mysql > ... where name is null;

来看个特Null情况:


QQ图片20170722212156.png

来个段子:
比如你问我:“那个人叫什么名字”?
我说:“不知道”。
不知道 可能是那个人叫不知道,也可能是我真不知道。
这就是两种Null的区别...

QQ图片20170722212441.png

所以要特别注意Null

拓展:

使用MySQL命令行执行sql脚本:

mysql > source d:/java/xxx.sql;

更多内容下载ppt学习:
http://pan.baidu.com/s/1hs3QDvQ

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,065评论 0 19
  • MySQL 数据库常用命令 1、MySQL常用命令 create database name; 创建数据库 use...
    55lover阅读 4,840评论 1 57
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • MySQL5.6从零开始学 第一章 初始mysql 1.1数据库基础 数据库是由一批数据构成的有序的集合,这些数据...
    星期四晚八点阅读 1,192评论 0 4
  • 灸法是中医学的重要组成部分;距今已有3000多年历史。随着艾灸方法的改变,今天的艾灸理念也有很大的突破,我们应该师...
    金葉艾灸阅读 1,029评论 0 3