MySQL基础笔记

如有错误,恳请告知。非常感谢!

环境(相关下载、配置):
phpstudy7.0.9
Apache2.4.39
MySQL5.7.26
phpMyAdmin4.8.5
此文在Windows10下实验并且假设以上环境均准备好。

如何打开安装好的MySQL命令行?

如下图所示。打开phpstudy的安装目录,打开Extensions目录,打开MySQL5.7.26文件,打开bin文件,在上方的路径输入cmd。

Alt
然后如下图所示,再输入mysql -uroot -p,输入密码,OK。

Alt
补充:

  1. 安装目录里面会有一个名为data的文件,这个文件是数据库,一个数据库一个目录。
  2. 有几个后缀名为.err的文件,是错误日志文件。

MySQL 为关系型数据库, “关系型”可以理解为"表格"的概念,一个关系型数据库由一个或数个表格组成(类比Excel表格)。
MySQL数据库的功能需要通过SQL语言来实现。

两个重要概念:

主键(primary key):主键是唯一的(不重复),其值可唯一区分表中每一行,且不允许为NULL值。

库、表、行、列等之间的关系
Alt

mysql数据库的命名规范:

最好不超过30个英文字符(小写);
英文单词之间最好用下划线;
或者有意义的简写;
必须添加默认的编码字符和校对规则子句(后面会有提)。

基本命令
  • 查询数据库
show databases;               //查询数据库。
show databases like '数据库名';//数据库太多时,查询一部分符合规则的数据库。
show databases like 'a%';     //查询a开头的数据库。也可以用到select语句中。
  • 创建数据库
 create database 数据库名;

  create database 数据库名 default character set UTF8 default collate utf8_general_ci;			
//创建一个名为abc的数据库,默认字符集为UTF8,默认排序规则utf8_general_ci(不区分大小写)。也可以不用加后面,加后面的显得规范。

create database if not exists abc1;//如果不存在就创建,存在就不创建

  • 查询创建数据库的语句
  • 即查该数据库是怎么创建的、默认字符集是什么
show create database 数据库名;
  • 删除数据库(此操作不可逆)
drop database 数据库名;
drop database if exists 数据库名; //如果存在侧删除。
  • 选择/切换到某数据库
use 数据库名;
数值类型的概念

最常使用的数据类型:数值类型、日期/时间类型、字符/字符串类型。

intinteger  //整数型,占4个字节,最长取值11位。
decimal        //小数点型。
timestamp      //日期类型,占4个字节,常用,因为节省空间。
varchar        //字符类型,变长字符串,0-65535 字节。
text           //字符类型,长文本数据,0-65 535字节。
注意:能用 varchar 的地方不用text
  • 创建MySQL数据表要先选择数据库然后还需要以下信息:表名、表字段名、定义每个表字段。后面实例会有详细说明。

  • 查询数据库中所有数据表

show tables;
  • 展示数据表(查)
select*from 表名;
select*from 数据库名.表名;       //不要漏了数据库名后面的一个点。
select 字段1,字段2 from 数据表名; //查询数据表中某字段。
  • 显示数据表字段
describe 表名;
desc 表名;       //describe 的缩写。
  • 添加/插入数据(增)
insert into 数据表名( 字段1, 字段2,... )   //指定字段名。
      values
      (1,2,... );
                       
insert into 数据表名
     values (2,'lisi',62);
     //不指定字段名,则添加的值的顺序应和字段在表中的顺序完全一致。

insert into 数据表名
	   values
		(5,'li',9),
		(6,'han',7),
		(8,'poly',7);//同时添加多条数据。字符型需要加单引号或双引号。
  • 删除数据
delete from 数据表名;   //删除表中所有数据,只剩下表字段。
truncate table 数据表名;
delete from 数据表名 where id=1;//删除数据表中ID为1的数据。

使用truncate语句删除记录后,新添加的记录时,自动增长字段(如 id 字段)会默认从1开始。而使用delete删除记录后,新添加记录时,自动增长字段会从删除时该字段的的最大值加1开始计算(即如果原来的id最大为3,则会从4开始计算)。

  • 删除字段名
alter table 表名 drop 字段名;
  • 修改数据(改)
update 数据表名 
	  set name='qwer',age=5
	  where id=1;//把id=1所在的字段修改。
  • 修改字段名
alter table 数据表名 change 旧字段名 新字段名 新数据类型;
其他命令补充:
alter database 数据库名 character set utf8;//修改数据库编码格式。
select version();       //登陆后查看版本号。
select user();          //登陆后查看当前用户。
select database();      //查看当前选择的库的状态。

select load_file();
用来加载文件,需要知道绝对路径。如果为NULL,解决办法。

select ‘字符串’ into outfile ‘绝对路径’;
在所要求的的绝对路径中创建新的文件,并往里面写入字符串(可以输入多行)。这就要求以mysql用户去执行时,mysql用户必须要有对web目录的读写权限。

下面是一个实例:

Step 1:创建数据库;
Alt注:每条命令都以英文分号 ; 结尾!

Step 2:创建一个数据表;
Alt

解释说明:
  1. 数据表的创建的前提是必须选择一个数据库。回想开头那个关系图便可以理解——先有数据库再有数据表,再往表里填充行列(数据)。
  2. 数据表相当于一个表格;
  3. 表字段名(field)相当于一般表格里的首行里面的名称;
  4. 定义表字段相当于是定义这一列的数据类型。例:定义了整数类,就只能填整数;
  5. 字段的属性应为 NOT NULL。因为如果输入该字段的数据为NULL ,就会报错;
  6. PRIMARY KEY关键字用于定义列为主键。这样方便查找。
  7. AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。在上面插入数据中,没有id 的数据,因为该字段在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。,所以,该字段会自动递增而不需要手动去设置;
  8. 箭头标记 "-> "表示一个新行。如果一条SQL语句太长,可以回车来创建一个新行来编写 SQL 语句。

Step 3:填充数据——增删改查

Alt
与我们用Excel建立的表格对比:

Alt
在phpMyAdmin中:
Alt

题外话:数据库版本很重要,当遇到某些问题且尝试了网上方法后都无法解决时,可以尝试去更换版本。

参考资料
[1] 菜鸟教程. https://www.runoob.com/mysql/mysql-tutorial.html
[2] admindu. https://www.cnblogs.com/dhm520/p/8671833.html
[3] 白居不易. https://www.cnblogs.com/heyangblog/p/7624645.html
[4] 魔都的天. https://blog.csdn.net/m0_37754003/article/details/82770252

发布了4 篇原创文章 · 获赞 5 · 访问量 4843
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览