目录
一、访问数据库
1、MySQL服务器的管理
可以通过Window的服务管理器启动关闭
2、登陆MySQL数据库服务器
工具:客户端部分mysql.exe,运行环境是cmd窗口
语法:
mysql -h 服务器的地址 -P 端口号 -u用户名 -p密码
说明:
-h mysql服务器的地址 localhost表示本机 127.0.0.1 表示本机,如果是本机可以省略
-P 端口号,默认是3306 如果是默认可以省略
-u 用户名 默认是root管理员
-p 密码 不建议在-p后紧跟密码(这样是明文输入密码)
二、数据库的基本操作
1、查看数据库
语法:
show databases;
说明:
查看当前有多少数据库存在
2、创建数据库
语法:
create database 数据库名 【库选项】
说明:
用于创建数据库,数据库名不要与MySQL的关键字重复,如果真的有需要使用关键字,必须使用反引号(``)将数据库名括起来
【库选项】
charset 用于设置存储字符集
collate 用于设置校验集
3、查看数据库的创建语句
语法:
show create database 数据库名;
说明:
用于查看数据库的创建语句,可能获取库选项的相关信息。
4、删除数据库
语法:
drop database 数据库名;
5、选择数据库
语法:
use 数据库名;
说明:
数据表是存储在某个具体的数据库中,所以要对表进行操作的时候需先进入到指定的数据库
扩展:
/s 可以查看数据库的信息,其中包含当前所在的数据库信息
三、数据表的基本操作
1、设置客户端的通讯编码
语法:
set names 客户端的字符集
说明:
用于明确的告诉服务器,当前客户端与之通讯的编码是什么。
2、查看数据表
语法:
show tables;
说明:
查看当前数据库中有多少数据表
3、创建数据表
语法:
create table 表名(
字段名 列类型 【列属性】,
字段名 列类型 【列属性】,
...
)【表选项】;
说明:
列类型就是所定义的列的取值限制(https://www.w3cschool.cn/mysql/mysql-data-types.html)。
【表选项】
charest 设置存储字符集
collate 设置校验集
engine 存储引擎
示例:
CREATE TABLE test(
s_id VARCHAR(20),
s_name VARCHAR(32),
s_sex VARCHAR(10),
s_age TINYINT
)charset utf8;
4、查看表结构
语法:
desc 表名;
5、查看表的创建语句
语法:
show create table 表名;(show create table 表名\G 不使用表格形式输出)
6、删除表
语法:
drop table 表名;
四、数据的基本操作
1、增加数据
语法:
insert into 表名【(字段列表)】 values(值列表)
说明:
字段列表中字段名不需要加引号
值列表中的字符型的值必须加引号
字段列表中字段的个数要与值列表中值的个数一致,而且顺序也要一致。
字段列表可以省略,如果省略表示全部字段插入数据。值列表中的顺序要与表中字段的顺序一致。
示例:
INSERT INTO test(s_id,s_name) VALUES('007','lgz');
INSERT INTO test VALUES ('007','l','man',22);
2、查看数据
①、语法:
select *|字段列表 from 表名 【where】【group by】【having】【order by】【limit】
说明:
* 所有的字段
字段列表 用于查看部分字段
示例:
SELECT * FROM test;
SELECT s_id,s_name FROM test;
②、where子句
根据where子句的表达式对记录进行筛选。
MySQL的运算符:
>、<、>=、<=、<>、=、and、or、【not】between m and n、in(值列表)、is 【not】 null、【not】like
说明:
between m and n 字段的值介于m与n之间
in(值列表) 字段的值属于值列表中的集合
is null 专用于判断null值的运算符
like 用于模糊查询,必须与两个占位符进行匹配使用
占位符:%、_
% 代表当前位置及后0个或多个字符
_ 代表当前位置的1个字符
/* 查询年龄22的学生*/
SELECT * FROM test WHERE s_age=20;
/* 查询年龄20-40的学生*/
SELECT * FROM test WHERE s_age>=20 AND s_age<=40;
/* 查询年龄20-40的学生*/
SELECT * FROM test WHERE s_age BETWEEN 20 AND 40;
/* 查询年龄28或22或12的学生*/
SELECT * FROM test WHERE s_age=12 OR s_age=22 OR s_age=28;
/* 查询年龄28或22或12的学生*/
SELECT * FROM test WHERE s_age IN (12,22,28);
/* 查询性别为woman的学生*/
SELECT * FROM test WHERE s_sex='woman';
/*查询未填写性别的学生*/
SELECT * FROM test WHERE s_sex is NULL ;
/*查询姓wang的所有学生*/
SELECT * FROM test WHERE s_name LIKE 'wang%';
3、修改数据
语法:
update 表面 set 字段1=值,set 字段2=值,... where子句
说明:
根据where语句匹配到的记录进行修改
示例:
UPDATE test SET s_name='GZLin' WHERE s_id='006';
4、删除数据
语法:
delete 表名 【where子句】
说明:
将where子句匹配到的记录进行删除
DELETE FROM test WHERE s_name='qianqi';