在DOS系统Mysql的配置和基本操作
环境变量
我的电脑 -> 右击属性 -> 高级系统设置 -> 环境变量 -> 新建
|
变量值:MySQL下的bin目录路径 <-变量名:PATH
DOS系统下清屏的命令:cls
mysql -h localhost -u root -p -b
mysql 数据库
-h 服务器(本地、指定服务器IP的)[本地localhost可以省略]
-u 用户名(我们用的是root用户:超级管理员)
-p 用户密码(不需要再它后面写密码,密码是回车之后写的)
-b 蜂鸣器(当命令敲错了,报错时提示的声音)
7.进入MySQL数据库以后的命令
注意:
1> 每一行命令结束了以后,请使用 ; 或 \g 来结束,否则命令可以一直写下去
2> 在MySQL的命令中,如果一行命令没有敲完,就回车了,它会继续执行下去,前提是必须是一条完整的命令
3> 退出敲错的命令、或不想继续执行下去的命令时,用\c
4> 我们要想让数据竖起来显示,在命令后用\G,有时候一行盛不下了会乱,
\G可以解决这个问题
5> \s 可以显示当前服务器的配置
6> help 查看所有可以使用的快捷命令
7> 如果在命令行中遇到了单引号,则MySQL认为你要输入一段字符串,所以,它是
必须使用结束的单引号,可以跳出字符串输入状态;
8. 退出数据库服务器
\q
exit
quit
create database 数据库名;//创建数据库
注意:
1.如果数据库已存在,不能创建同名的数据库
2.创建命令和数据库名都不区分大小写
if not exists 如果数据库已存在,加上前面的关键字可以避免报错
drop database 数据库名;//删除数据库
show databases;//查看已创建的数据库
use 数据库名;//使用一个数据库
select database();//查看当前我们所使用的数据库
show create database 数据库名;//查看建库语句
注意:通过该命令,我们可以看到所建数据库的建库语句、编码类型;
1.MySQL数据库中命令不区分大小写。
2.数据库的名字也是不区分大小写的。
2.每创建一个数据库,就会在data目录下创建一个以此数据库名称命名的文件夹。
3.在Windows下,数据库名称也是不区分大小写的,但在Linux下,数据库名称严格区分大小写。
tee命令:可以将MySQL中的练习语句导出到外部的一个文件当中
使用方法:tee E:\wamp\www\lamp171\lesson23_MySQL01\test.txt
创建数据表
create table 表名(
字段名1 字段类型,
字段名2 字段类型,
字段名3 字段类型
);
注意:
1.创建一个数据表时,它的每个字段之间用逗号","隔开;
2.最后一个字段不用逗号",";
3.创建完表以后,最后的括号后面使用分号结束
4.建表时,表名后面的括号中写表的字段名(字段类型)
5.
desc 表名;//查看表结构
show create table 表名;//查看建表语句
show tables;// 查看当前数据库存在的数据表
drop table 表名//删除数据表
添加数据
① insert into 表名 (字段1,字段2……) values (值1,值2……);
② insert into 表名 values (值1,值2……),(值1,值2……);
③ insert into 表名 (字段1,字段2……) values (值1,值2……),(值1,值2……);
④ insert into 表名 values (值1,值2...);
⑤ insert into 表名 set 字段1=值1,字段2=值2...;
注意:
1.值和字段名要一一对应,否则会报错
2.你写入的值一定要和数据类型相匹配
删除数据
delete from 表名 where 条件;
注意:删除数据的时候,也一定要加上where条件,否则会删除所有的数据
修改数据
update 表名 set 要修改的字段=修改后的值,要修改的字段=修改后的值 where 条件
注意:修改数据的时候,一定要加上where条件,否则会修改所有的数据
查找数据
select *(所有字段) from 表;
select 字段1,字段2.. from 表;
1.在DOS命令行下导出数据库(带数据)
mysqldump -u root -p 数据库名 > E:\wamp\www\lamp175\lamp175.sql
2.在DOS命令行下导出数据表(带数据)
mysqldump -u root -p 数据库名 数据表名 > E:\wamp\www\lamp175\lamp175_stu.sql
3.在DOS命令行下导出数据库(不带数据)
mysqldump -u root -p -d 数据库名 > E:\wamp\www\lamp175\lamp175.sql
4.在DOS命令行下导出数据表(不带数据)
mysqldump -u root -p -d 数据库名 数据表名 > E:\wamp\www\lamp175\lamp175_stu.sql
1.在DOS命令行下导入数据库文件
mysql -u root -p 数据库名 < E:\wamp\www\lamp175\lamp175.sql
2.在MySQL命令行下导入数据库文件(必须在指定的库当中)
source E:\wamp\www\lamp175\lesson24_MySQL02\lamp175.sql
1.在DOS命令行下
mysqladmin -u root -p password 新密码
注意:新密码处不要加双引号、分号,否则可能出现问题
2.在MySQL命令行下
set password for 'root'@'localhost' = password('新密码');
1.先关闭数据库服务(任务栏右击,打开任务管理器,找到mysqld.exe)
2.打开一个DOS命令框,将路径跳转到 E:\wamp\bin\mysql\mysql5.7.9\bin 目录下
3.输入命令 mysqld --skip-grant-tables ,光标会一直在下方闪烁
4.再打开一个DOS命令框,输入 mysql 直接以root权限进入数据库服务系统
5.进入mysql库,查看user表,再修改root用户的 authentication_string 的值
6.update user set authentication_string=password('123456') where User='root';
7.flush privileges; 修改完成之后,使用该命令刷新几次
8.重启mysql服务,进入DOS命令框,登陆修改之后的密码即可
当我们存储不同的数据时,需要配合不同的类型来进行存储
1.php当中的数据类型:
布尔型、整型、浮点型、字符串型、数组型、对象型、资源型、空型
2.MySQL当中的数据类型:
整型、浮点型、定点型、字符串型、日期时间型、集合型、枚举型
1> 整型
tinyint: 短整型(常用)
smallint: 小整型
mediumint: 中整型
int: 整型(常用)
bigint: 长整型
这些数据类型,其实都是存储整数的,只是占用长度不同,存储范围不同
注意:
1.在定义整型数据时,不需要指定长度,它会采用默认的长度来存储
2.如果要是定义长度,该长度是为后续的一个约束条件准备的
3.在插入整数类型的值的时候,注意不要越界,否则会报错
4.我们使用整数类型时,选用合适的存储范围即可
2>浮点型:
float(M,D): 单精度
double(M,D): 双精度
decimal(M,D): 定点数
3.14 3.1415926
使用浮点型数据的时候,肯定会指定一下精度和标度
注意:
1.单精度、双精度唯一的区别就是长度和存储范围
2.精度:整数位和小数位的长度和
3.标度:小数位的长度就是标度
4.当我们想要存储一些需要准确精确表达的数据时,不要使用单、双精度
5.我们推荐使用定点数进行存储
3> 字符串型:
char: 定长字符串(常用)
varchar: 变长字符串(常用)
tinytext: 短文本
text: 文本(常用)
mediumtext:中文本
longtext: 长文本
字符串型的最大的区别在于他们的存储范围
注意:
1.char定长字符串,可以不指定长度,默认长度为1;如果指定长度, 则该长度就为固定长度了!
2.varchar变长字符串,必须指定长度,存储到varchar中的数据,会根据数据的长度,自动调整存储范围,但是不能越界!
3.超出长度的,会报错
4.char和varchar除了上述的区别外,就是存储范围的不同了
5.当我们存储内容比较长的长文本时,例如小说、文章等内容,可以使用text长文本格式进行存储!
4> 日期时间型:
这个日期时间型,我们了解一下即可,存储时间我们推荐使用整型,因为时间戳就是一个整型值
5> 枚举型:
多选一
enum("dabolang","xiaobolang","meibolang","lang");
注意:
1.枚举类型的数据,必须使用双引号将每一个值括起来,每个值使用逗号隔开
2.枚举型的值,只能多选1
6> 集合型:
多选多
set("dabolang","xiaobolang","meibolang","lang");
注意:
1.集合型的数据和枚举型的数据定义方式一样
2.区别在于,枚举型只能多选一,集合型可以多选多!
3.字段的约束条件
1.给整型准备的约束条件
1> unsigned :无符号
注意:
1.当我们给整型的字段加上无符号余数条件之后,该字段的存储 范围会发生改变(具体范围参考word文档)
2.unsigned无符号修饰符必须加在我们所定义的字段类型之后
2> zerofill :前导零
注意:
1.整型当中所定义的长度,其实是给前导零准备的
2.当我们给某个整型的字段添加了前导零的约束条件之后,它自动 给我们添加了一个unsigned约束条件,说明,我们如果使用前导零 则不能添加负数值
2.通用的约束条件
1> not null :不能为空
注意:
1.改关键字所修饰的字段不能为空
2.如果你非得让它为空,那么你只能通过给定默认值解决此问题
3.not null的顺序不限,但是不能放到unsigned之前
2> default :默认值
注意:
1.当我们给某个字段添加默认值时,该字段为何类型,则默认值也 是该类型
2.默认值一般放到最后
3.因为高版本mysql默认开启严格模式,如果不传值并设置为非空的情况下,int类型设置默认值0,字符串类型设置EMPTY STRING类型
3> auto_increment :自增
注意:
1.自增通常是给表中的ID准备的约束条件
2.每一个表都会有一个id字段
3.如果我们要给id字段添加自增关键字,则必须要给该字段一个索引修饰,该索引修饰可以使 primary key(主键索引)或者是 unique(唯一索引)
4.具有自增条件的字段,每次自增1
5.一个表中只能有一个自增字段