工作记录之关于SQL的基础用法

本文介绍了如何使用bat脚本创建和停止MySQL服务,以及在控制台中操作MySQL,包括登录、命令行SQL语法、触发器和视图的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用bat脚本实现创建停止服务

1.分别创建创建服务、停止服务的bat文件。(创建记事本,修改后缀为.bat)

2.编辑创建服务内容

//移动到脚本所在目录
set dir=%~dp0
cd /d %~dp0bin
//安装mysql服务
mysqld --install mysqlserver
//启动mysql服务
net start mysqlserver
//暂停黑窗口,按任意键继续
pause

3.编辑停止服务内容

//还是将目录移动到脚本所在的位置
set dir=%~dp0
cd /d %~dp0bin
//停止mysql服务语句
net stop MySQL80
//暂停黑窗口
pause

4.以管理者身份运行bat文件即可启动或停止服务。若想再VC编码中运行该程序,可以使用system()函数执行。例如

system("D:\mysql-5.7.43-win32\停止服务.bat");

二、控制台操作mysql

1.以管理员身份运行cmd

2.将目录移动到数据库所在路径的bin目录下,例D:\mysql-5.7.43-win32\bin

3.登录语法,参考:https://blog.youkuaiyun.com/icanlove/article/details/38385555

mysql [-h 主机名] -u用户名 -p密码 [-P端口号] [-D数据库名]

例 mysql -u root -p123

[-h主机名或ip地址]或者[–host=主机名ip地址]:指定登录的主机名;
[-u用户名]或者[–user=用户名]:指定用户登录的用户名;
[-p密码(p小写)]或者[–password=密码]:输入登录密码;若不输入密码会弹出密码输入步骤


[-P端口号(P大写)]或者[–port=端口号]:指定登录的MySQL的端口号;
[-D数据库名]或者[–database=数据库名]:指定登录的数据库名称;

 4.退出语法

mysql> quit

 三、MySQL语法

1.创建表

CREATE TABLE [IF NOT EXISTS] 表名  (字段名1 类型,

                                                                  字段名2 类型,

                                                                  ...... ,

                                                                  表约束);

IF NOT EXISTS 先判断数据表是否存在,存在不创建,不存在则会创建。

例:CREATE TABLE test (test_id INT(11) NOT NULL  AUTO_INCREMENT,

                                            test_title VARVHAR(255),

                                            test_date DATE,

                                            PRIMARY KEY(id));

NOT NULL 设置字段插入时不能为空;

AUTO_INCREMENT 设置插入时该字段数值自增;

PRIMARY KEY() 关键字用于定义主键,可以设置多列,中间以逗号分隔。

2.删除表

DROP TABLE [IF EXSITS] 表名;

例:DROP TABLE test;

IF EXSITS 判断数据表是否存在。

3.增删改查

(1)添加数据

        有两种方法,一种向表中直接插入数值,另一种根据字段名插入数值

a.直接插入数据

        INSERT INTO 表名 VALUES (值1,值2,...);

例:INSERT INTO test VALUES (1,'aaa','2024-02-29');

b.根据字段名插入数据

        INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...);

例:INSERT INTO test(test_id,test_title,test_date) VALUES (1,'aaa','2024-02-29');

(2)更新数据

UPDATE 表名 SET 字段名1 = 值1 [WHERE 条件1];

例:将id为1的日期更新为2024-03-01。

        UPDATE test SET test_date = '2024-03-01' WHERE test_id = 1 OR test_title = 'aaa';

当有两个及以上的条件时,可用ORAND连接;使用OR表示两个条件是的关系,满足其中一个条件即可AND代表两个条件是的关系,二者必须全都满足

(3)查询数据

a.查询表内所有字段的数据

        SELECT * FROM 表名;

例:SELECT * FROM test;

b.根据条件查询所需要的字段数据

        SELECT 字段1,字段2 FROM 表名 [WHERE 条件1];

例:  SELECT test_id,test_date FROM test WHERE test_title = 'aaa';

(4)删除数据

a.删除表中所有数据

DELETE FROM 表名;

例:DELETE FROM test;

b.删除表中符合条件的数据

DELETE FROM 表名 WHERE 条件;

例:DELETE FROM test WHRER test_id=1 and test_date = '2014-03-03';

4.触发器

(1)创建触发器

CREATE TRIGGER 触发器名称 BEFORE/AFTER

INSERT/UPDATE/DELETE  ON  表名  FOR EACH ROW        

BEGIN

        内容;

END;

例:当test表更新时,将新的值记录到update_test表中。

        CREATE TRIGGER trgger_test  AFTER  UPDATE ON test  FOR EACH ROW 

        BEGIN

                INSERT INTO update_test( Time,Users,ID,Title )  VALUES

                ( NOW(),USER(),NEW.id,NEW.Title );

        END; 

BEFORE/AFTER 字段表示是内容执行之前或之后进行触发;

INSERT/UPDATE/DELETE 字段表示监听的是 INSERT操作 或是 UPDATE操作 或是 DELETE操作。

NOW()函数由于获取当前的时间。

USER()函数用于获取当前登录MySQL的用户。

NEW.xxx的作用是获取修改完的新数据,想要获取旧数据使用OLD.xxx

(2)修改触发器

修改与创建触发器的语句一致,只需将关键字CREATE更改为ALTER即可。

(3)删除触发器

DROP TRIGGER  [IF EXISTS]  触发器名称;

例:DROP TEIGGER IF EXISTS trgger_test;  

5.视图

(1)创建视图

CREATE  [OR REPLACE]  VIEW view_test  AS  查询语句;

        可以使用SELECT * FROM xxx; 查询表中全部字段的数据;也可以使用 SELECT [字段]... FROM xxx WHERE [条件] ...; 查询满足条件的某些数据。

例:CREATE OR REPLACE VIEW  view_test AS SELECT * from test;

REPLACE 字段功能是判断创建的视图是否存在,若存在就将其替换掉。若不存在则创建。

(2)修改视图

ALTER VIEW 视图名 AS 查询语句;

例:ALTER VIEW view_test AS SELECT test_id FROM TEST;

(3)删除视图

DROP VIEW 视图名;

例:DROP VIEW view_test;        

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值